ブロック線図をエディターのプログラミングで実行したい。
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
ブロック線図で作成したモデルをエディターの画面で実行することができません。具体的にはsim関数を用いて、作成したモデルを実行するとワークスペースには変数が実装されるが、それをエディターに読み込むことができません。以下にその構文を示します。どのようにしたらエディター画面でモデルを実行できますか?よろしくお願いします。
function y=simple_fitness(x)
x=1:2;
assignin('base','model_x1',x(1));
assignin('base','model_x2',x(2));
sim('model1.slx');
y=evalin('base','out.model_y');
end
0 Kommentare
Antworten (1)
Yoko
am 17 Jul. 2020
Bearbeitet: Yoko
am 17 Jul. 2020
関数の中で、Simulink モデルのシミュレーションを実行し、結果を出力したいということでしょうか?
assignin などを使わずに、Simulation Input というオブジェクトを使用することで、上記実現できます。
参考までに、モデルに 'a' という変数を持つモデルのシミュレーションを実行し、出力結果を渡す一例を下記に記述します。
function y = call_simulink_model(a)
model = 'simple_model';
% シミュレーションに必要な情報を格納するオブジェクトを作成
simIn = Simulink.SimulationInput(model);
% 出力信号の設定
simIn = simIn.setVariable('SaveOutput','on');
simIn = simIn.setVariable('OutputSaveName','yout');
% 変数値の設定
simIn = simIn.setVariable('a',a);
out = sim(simIn);
y = out.yout{1};
plot(y)
end
Simulink.SimulationInput クラスに関する詳細は、下記のドキュメントを参照しながら、色々と試してみてください。
0 Kommentare
Siehe auch
Kategorien
Mehr zu Simulink 環境のカスタマイズ finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!