0

Excelファイルからの入力として配列を受け取り、配列を使用して計算を行うS関数があります。S 関数ブロックの最終的な結果は、Nx1 配列です。Nx1 配列を sFunc.OutputPort(1).Data に割り当てようとしましたが、長さ N のベクトルを長さ 1 のベクトルに割り当てようとしているというエラーが表示されます。

配列を出力し、それを Simulink の別の S 関数と別の配列 (時間) に対してデータをプロットするスコープにフィードできるようにしたいと考えています。

どんな助けでも大歓迎です!</p>

ありがとう!

4

1 に答える 1

1

レベル 2 の M ファイル s-Function の場合、setup() 関数で Outport 次元を明示的に指定する必要があります。

function setup(block)
....
block.OutputPort(1).Dimensions       = [N 1];

次に、出力関数で次のように配列を出力できます。

function Output(block)
...
block.OutputPort(1).Data = ones(N,1);

これをダミーの L-2 MS-Fcn で試してみたところ、問題なく動作しました...

于 2012-08-17T15:15:58.237 に答える