1

Check Static Rangeブロックを含む Simulink モデルがあります。私のベース ワークスペースには、 という変数がありますmyNum=3。Check Static Range ブロック内には、'Simulation callback when assertion fails' という編集ボックスがあります。この編集ボックスに と書きdisp(num2str(myNum))ました。私が期待しているのは、アサーションが発生したときにコマンド ウィンドウに表示される myNum の値を確認することです。代わりに、「Checks_SRange ブロックの 'AssertionFcn' コールバックを評価中にエラーが発生しました... 未定義の関数または変数 'myNum' です。

Assertionブロックで同じコールバックを試したところ、問題なく動作しました。ワークスペース内の変数を Check Static Range ブロックに認識させるにはどうすればよいですか?

4

2 に答える 2

1

Check Static Range ブロックには、マスクの下に Assertion ブロックがあります。Simulink コールバック文字列は、ベース ワークスペースではなくマスク ワークスペースで評価されるため、エラーが発生します。ベース ワークスペースでの評価を強制するには、代わりにこれを試してください。

disp(num2str(evalin('base','myNum')))

于 2011-01-29T03:08:18.373 に答える
0

ここにはテストするMatlabがありません。編集ボックスの内容を引用符で囲みましたか? 'disp(''3'')' は機能しましたか? (文字列にいるため、二重引用符で囲みます)

于 2011-01-28T18:12:51.603 に答える