阅读视图

Matlab/Simulink批量运行仿真、参数寻优

适用场景

参数寻优、PI调参等。用Matlab脚本代替人工操作。

前提条件

1. 需要改变的参数用变量名代替,比如K。这样便于在脚本中修改变量值。

2. 主界面要有outport(输出端口,椭圆形的),这个作为评价指标。注意是最外层的系统,Subsystem貌似不行。

3. 模型设置里勾选Single simulation output。

脚本代码

%% 批量运行仿真
clear;
modelname=bdroot;   %获取当前激活模型名
n=0;
for K=0:0.01:0.2	%需要改变的参数
    n=n+1;
    simOut(n)=sim(modelname);   %这句是关键
    result(n,1)=K;  %第一列记录参数值
    result(n,2)=simOut(n).yout{1}.Values.data(end); %第二列记录模型输出值(终值)
end
plot(result(:,1),result(:,2));

然后就可以愉快地挂机摸鱼,喝茶睡觉玩手机啦~

关于sim()函数的更多用法可参考Matlab官网说明:https://ww2.mathworks.cn/help/simulink/slref/sim.html?requestedDomain=cn

本文发表于鸦鸦的巢穴,感谢您的订阅!如需评论请前往Matlab/Simulink批量运行仿真、参数寻优

  •