ブロック線図をエディターのプログラミングで実行したい。
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
ブロック線図で作成したモデルをエディターの画面で実行することができません。具体的には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 commentaires
Réponses (1)
Yoko
le 17 Juil 2020
Modifié(e) : Yoko
le 17 Juil 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 commentaires
Voir également
Catégories
En savoir plus sur Simulink 環境のカスタマイズ dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!