FMUインポートブロックにおけるパラメータ値の入出力方法について
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
YW
el 25 de Jun. de 2018
Respondida: Yuichi Tadokoro
el 6 de Jul. de 2018
FMUインポートブロックの初期値・パラメータ値の設定方法として、ブロックGUIを用いずにmファイルやワークスペースの変数から直接入力させる方法はありますか? また、計算結果パラメータをワークスペースにすべて一括で格納する方法はありますか? FMUモデルをSimulink上で動かしてアンサンブルカルマンフィルタによる状態推定をすることを想定しており、mファイル上でコードを確立できるようにしたいと思ってます。
0 comentarios
Respuesta aceptada
Yuichi Tadokoro
el 6 de Jul. de 2018
FMUインポートブロックのパラメータは、直接Simulinkブロックのパラメータとして格納されているようです。 例として、標準で入っているデモを使用してみてみます。
fmudemo_vehicAOB
FMUブロックのダイアログを開いてみると、Weight, Biasという2つのパラメータが入っています。対象のブロックを選択した状態で
gcb
を実行すると、そのブロックのパス(たとえば 'fmudemo_vehicAOB/vehicAOB' 等)を得ることができます。これを使用して、たとえばWeightパラメータに関して
get_param('fmudemo_vehicAOB/vehicAOB', 'Weight')
を実行することで、
ans =
'struct('v1',0.5,'v2',0.5)'
のようにパラメータを取得することができます。
set_paramコマンドを使用すればパラメータの書き換えも可能です。たとえば
set_param('fmudemo_vehicAOB/vehicAOB','Weight','struct(''v1'',0.2,''v2'',0.8)')
としてからブロックパラメータのダイアログを開くと、値が書き変わっていることが確認できると思います。
実行結果の一括出力については、上で使用したデモのモデルにあるように、バス信号でまとめてからTo Workspaceブロックを使用することで楽にできるのではないかと考えます。
0 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!