MATLABから、SimscapeのBattery (Table-Based)内のパラメータを変更して、シミュレーション実行する方法について
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
kh
el 15 de Mayo de 2023
Editada: Toshinobu Shintai
el 15 de Mayo de 2023
MATLABのワークスペースから、SimscapeのBattery (Table-Based)内のパラメータを変更して、シミュレーション実行を繰り返し行い、シミュレーションで得たデータは都度保存するようにしたいです。
上記動作を自動で実行するにはどのようにすべきかアドバイス頂けないでしょうか。
下記の要領でシミュレーションを実行しています。
■データの自動保存
コールバック関数のstpFcnを使って、出力されたデータを都度、自動で保存するプログラムを書いています。
■シミュレーションの実行
MATLABからset_param関数を使用して、下記のようなプログラムを実行したのですが、パラメータは変更されているようですが、
自動保存されたデータを見ると、各ファイルとも同じデータ内容となっています。
for loop_i=1:2
Signal_Ah=Signal(loop_i,1)
Signal_R0=Signal(loop_i,2)
Signal_A=Signal(loop_i,3)
set_param('ファイル名'/Constant_Signal_A','Value', num2str(Signal_A));
set_param('ファイル名'/Battery_Module/Battery_Cell1/Battery (Table-Based)','R0_mat', mat2str(R0*Signal_R0));
set_param('ファイル名'/Battery_Module/Battery_Cell1/Battery (Table-Based)','AH', num2str(1.22*Signal_Ah));
sim('ファイル名');
end
0 comentarios
Respuesta aceptada
Toshinobu Shintai
el 15 de Mayo de 2023
Editada: Toshinobu Shintai
el 15 de Mayo de 2023
以下リンク先のデモモデルのように、"Simulink.SimulationInput"オブジェクトにシミュレーションの設定を格納し、parsimコマンドで実行すると、各パラメーターパターンごとにシミュレーション結果を保存できます。
デモモデルの「PIDゲインスケジューリングをAutotunerを用いて設計する」をご参照ください。以下、該当箇所を抜粋しました。
==========================================================================================
電流の値が以下の値にあるときを調べる。
Iout_op = [
-20; -16; -12; -8; -4; -2; -1;
1; 2; 4; 8; 12; 16; 20];
Iout_opのパターン数分、シミュレーション設定変数を作成する。
for i = 1:numel(Iout_op)
simin(i) = Simulink.SimulationInput(system_model_name);
% 必要に応じてアクセラレータ、ラピッドアクセラレータモードを使用する。
% 使用する場合は、以下のどちらかをコメントアウトする。
% simin(i) = simin(i).setModelParameter('SimulationMode', 'accelerator');
% simin(i) = simin(i).setModelParameter('SimulationMode', 'rapid-accelerator');
simin(i) = simin(i).setVariable('Iout_ref',Iout_op(i));
end
パターン数分のシミュレーションをまとめて実行する。Parallel Computing Toolbox™がインストールされているとき、parsimは自動的に並列ワーカーを立ち上げて並列実行を行う。
save_system(system_model_name, [], 'OverwriteIfChangedOnDisk', true);
simout = parsim(simin, 'ShowProgress', 'on');
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre カスタム コンポーネントとカスタム ライブラリの作成 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!