适用场景
参数寻优、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