Main Content

C Function ブロックでの行列入力と外部関数の使用

この例では、C Function ブロックに行列入力を渡して、外部カスタム コードを使った行優先の演算を実行する方法を示します。

open_system('mMatrixColumnSumExternalCode');

この例では、外部カスタム コードで行列入力を使用して、行列の各列の合計を計算し、結果を出力ブロックに渡します。外部関数は、arr[r][c] を使用して行優先として入力配列 arr にアクセスします。

カスタム コードは、C Function ブロックの [出力コード] ペインで呼び出されます。

外部ソースとヘッダー ファイルは、[コンフィギュレーション パラメーター][シミュレーション ターゲット] ペインで指定されます。

行列入力の場合、行列テーブル上の入力シンボルのサイズは [r c] として指定されます。ここで、r は行列入力内の行数と一致し、c は列数と一致します。

既定の関数配列のレイアウトの指定

外部 C 関数は、行優先レイアウトを使用して入力配列 arr にアクセスします。MATLAB による計算の有効性を確保するには、[コンフィギュレーション パラメーター][シミュレーション ターゲット][既定の関数配列のレイアウト] に移動し、[Row-major] を選択します。