sim関数を用いたm​atlabからの変数​の渡し方が分からない​。

11 visualizaciones (últimos 30 días)
稔彦 廣瀬
稔彦 廣瀬 el 6 de Oct. de 2021
Comentada: 稔彦 廣瀬 el 7 de Oct. de 2021
sim関数によって、matlabから変数を渡そうとしているのですが、下記のコードに対して
% aは数値行列
sim('APF_LQ_LIN_2008highspeed','gene',a);
以下のようなエラーが発生します。
block_diagram does not have a parameter named 'gene'
以下のようにBlock Parametersを用いてPath_Planというmatlabブロックにaの値を渡したいのですが、公式ドキュメントを読んでも適切な方法が分かりません。適切な方法を教えていただければ幸いです。

Respuesta aceptada

Hiroshi Miyagawa
Hiroshi Miyagawa el 7 de Oct. de 2021
'gene' を設定しているブロックはConstantブロックでしょうか?
であるならば、以下で動くと思います。
gene = a;
sim('APF_LQ_LIN_2008highspeed')
1行目によって、geneという変数がWorkspace上に生成されますので、simコマンド実行のさいに、SimulinkがgeneをSimulinkに読み込みます。
Constantブロックに設定している値を変更するには以下のようにします。
set_param('APF_LQ_LIN_2008highspeed/Constant','Value',num2str(a)) % aの値を直接書き込む
または、
set_param('APF_LQ_LIN_2008highspeed/Constant','Value','a')) % aという文字列を書き込む
その後、simコマンドでモデルを実行します。
以上、回答になりましたでしょうか?
  1 comentario
稔彦 廣瀬
稔彦 廣瀬 el 7 de Oct. de 2021
ご指摘の通りに動かした結果、意図通りに動作しました。ありがとうございます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre イベント関数 en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!