Simulink中模型参数设置
在simulink中,有多种设置和传递参数的方法
有一种直观的设置方法,直接在simulink中双击模块,在回调函数里修改属性值

其实如果你对子系统subsystem比较熟悉的话,如果需要对子系统里的参数进行反复调试的话,可以Creat Mask(进行子系统封装)。
我们来对比看看



以上自搭和自带的模型仿真对比
理论上讲,这个可能就是simulink工具箱的开发套路
以上是第一种传参方式,创建子系统,封装

这种方法适用于多参量而且需要反复调式设计的系统模型

共享Base Workspace
matlab与simulink都有独自的变量空间,一般不会相互干扰
如果你运行一个simulink模型文件,会默认产生变量out
(以上指MATLAB2020B)
这是MATLAB与Simulink共享工作区

简单设置一下


这里将第二种方法


直接运行,报错哦


选择fix,选择mat 文件 ,按照提示走一波


这里A.mat 存入A = 5
尝试第二种方法,清除变量区


介绍第三种方法 Model Properties

在Callbacks里添加回调函数
InitFcn 初始化回调函数,每次运行前触发



关闭文件,重新打开运行


注:PreloadFcn 仅适用于首次打开运行时触发
还有一种方式,可归为共享MATLAB工作区

代码如下:
T = 0.2;a = 0.1;z1 = exp(-0.1*T);p1 = exp(-T);
K = (1 - p1)/(1 - z1);
[t,x,y] = sim('Control_Mat2Sim01.slx',20);
plot(t,y(:,2))
hold on
stairs(t,y(:,1))

综上所述,有以下4种方法
直接在面板输入
Mask封装
共享MATLAB工作区
Model Properties触发回调函数