C Function ブロックでの行列入力と外部関数の使用
この例では、C Function ブロックに行列入力を渡して、外部カスタム コードを使った行優先の演算を実行する方法を示します。
open_system('mMatrixColumnSumExternalCode');
この例では、外部カスタム コードで行列入力を使用して、行列の各列の合計を計算し、結果を出力ブロックに渡します。外部関数は、arr[r][c]
を使用して行優先として入力配列 arr
にアクセスします。
カスタム コードは、C Function ブロックの [出力コード] ペインで呼び出されます。
外部ソースとヘッダー ファイルは、[コンフィギュレーション パラメーター]、[シミュレーション ターゲット] ペインで指定されます。
行列入力の場合、行列テーブル上の入力シンボルのサイズは [r c]
として指定されます。ここで、r
は行列入力内の行数と一致し、c
は列数と一致します。
既定の関数配列のレイアウトの指定
外部 C 関数は、行優先レイアウトを使用して入力配列 arr
にアクセスします。MATLAB による計算の有効性を確保するには、[コンフィギュレーション パラメーター]、[シミュレーション ターゲット] で [既定の関数配列のレイアウト] に移動し、[Row-major
] を選択します。