ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.ref

パッケージ: coder

読み取り入力または書き込み出力としての引数の参照渡し

構文

[y =] coder.ceval('function_name', coder.ref(arg), ... un)

引数

arg

入力または出力として参照渡しされた変数で、coder.ceval で呼び出された外部 C/C++ 関数に渡されます。arg は、スカラー変数、行列変数、行列変数の要素のいずれかでなければなりません。

説明

[y =] coder.ceval('function_name', coder.ref(arg), ... un) は、変数 argcoder.ceval で呼び出された外部 C/C++ 関数に入力または出力として参照渡しします。function_name への引数として coder.refcoder.ceval 内に追加します。引数リストには、複数の coder.ref 構成を含めることができます。function_name に参照渡しする引数ごとに、別個の coder.ref 構成を追加します。

coder.ref は、codegen でコンパイルされた MATLAB® コードでのみ使用します。coder.ref は、未コンパイルの MATLAB コードではエラーを生成します。

以下の例では、MATLAB 関数 fcn は 1 つの入力 u と 1 つの出力 y をもちます。fcn は C 関数 my_fcn を呼び出し、入力として u を参照渡しします。出力 y の値は、C 関数によって、その return ステートメントを使用して fcn に渡されます。

以下は、MATLAB 関数コードです。

function y = fcn(u) %#codegen

y = 0; %Constrain return type to double
y = coder.ceval('my_fcn', coder.ref(u));

my_fcn の C 関数のプロトタイプは以下のようでなければなりません。

double my_fcn(double *u)

この例では、生成コードが入力 u のデータ型を codegen 引数から推測します。

入力が参照渡しされるので、C 関数のプロトタイプは、入力をポインターとして定義します。

生成コードは出力 y のデータ型を推測できないので、それを明示的に設定しなければなりません。ここでは、既定のデータ型が double である定数値 0 に設定します。

この情報は役に立ちましたか?