1

すべてのMATLABおよびSimulinkユーザーに対して、

プロジェクトを実行していますが、Simulinkブロックの「SignalFromWorkspace」からデータをインポートする際に問題が発生しました。

私の場合:

Simulinkブロックダイアグラムに22秒のサンプル期間にわたって2列のデータの565行を入力する必要があります。各データサンプル時間は22/565です。

ただし、出力データは[565 x 2]であり、寸法の問題により、ダウンストリームのSimulinkブロックへの入力に影響します。

たとえば、理想的には、[1x2]出力は[2x1]と乗算され、22秒間に565回繰り返されます。現在、[565 x 2]の出力信号は、寸法が原因で通過できませんでした。

問題を解決するための私の試み:

「SignalFromWorkspace」の代わりに「Fromworkspace」を使用してみましたが、いくつかの問題が発生します。

t = [0:22/565:22]'M(565行n 2列の値)data.time = t; data.signals.values = M; data.signals.dimensions = [565 2];

このエラーは、シミュレーションの実行時にポップアップ表示されます。

*「'test/ FromWorkspace'でワークスペース入力として指定された無効な構造フォーマット変数。構造'dimensions'フィールドは、スカラーまたは2つの要素を持つベクトルである必要があります。さらに、このフィールドは入力信号のディメンションと互換性がある必要があります。 'values'フィールドに格納されます。"*

誰かが私のケースに洞察/解決策/代替方法を提供してくれるなら、私は大いに感謝します。

ありがとう!

よろしく、KO

4

1 に答える 1

1

使用する必要があるようです

data.signals.dimensions = 2;

例えば

>> t= linspace(0,10,1001)';
>> data.time = t;
>> data.signals.values = [sin(t) cos(t)];
>> data.signals.dimensions = 2;
于 2013-03-26T14:38:51.823 に答える