MATLAB脚本调用simulink仿真文件及simulink模块参数修改-load_system函数-sim函数-set_param函数
·
1. load_system
加载系统,添加所需要加载的simulink仿真模型所在的路径和名称。
load_system('pathname\filename');
必须加载系统之后才可以完成后续的运行simulink仿真模型和获取仿真模型参数和设置仿真模型参数的操作。
2. sim
sim('filename',[0 1]);
运行函数名为filename的simulink仿真文件,[0,1]为仿真时长,可根据实际需要进行设置。
3. set_param
set_param('CS/hot1','value','37');
CS对应仿真文件的名称.slx,hot1对应.slx文件内模块的名称,这里我给他起名叫做hot1,hot1是一个常数模块,可以通过set_param函数对value这个参数进行设置。这里很奇怪的就是写成‘Constant value’会显示错误,需要写成‘value’才能正确运行。(2019b的版本)
4. get_param
c=get_param('CS/hot1','value')
C=str2num(c)
使用get_param函数可以获得模块的数,但是得到的str格式,如果需要后续计算的话,需要通过str2num函数转化为num格式。
5. 应用
通过脚本.m文件运行simulink文件,通过以上介绍的函数,可以用于参数寻优。设定一个寻优参数区间和步长,给定一个约束函数,通过不断的试错仿真,可以得到一个最优函数。
A=(0.1:0.02:0.9);%%参数寻优范围与步长
%%此处为约束函数----输出最佳参数param%%
set_param('CS/hot1','value','param'); %%%将得到的最佳参数设置给仿真模型,并运行该模型
sim('CS',[0 1]);
通过脚本的仿真可以自动对参数进行寻优与试错,大量节省了时间。
更多推荐
已为社区贡献1条内容
所有评论(0)