Simulink中模型參數(shù)設置
在simulink中,有多種設置和傳遞參數(shù)的方法
有一種直觀的設置方法,直接在simulink中雙擊模塊,在回調函數(shù)里修改屬性值

其實如果你對子系統(tǒng)subsystem比較熟悉的話,如果需要對子系統(tǒng)里的參數(shù)進行反復調試的話,可以Creat Mask(進行子系統(tǒng)封裝)。
我們來對比看看



以上自搭和自帶的模型仿真對比
理論上講,這個可能就是simulink工具箱的開發(fā)套路
以上是第一種傳參方式,創(chuàng)建子系統(tǒng),封裝

這種方法適用于多參量而且需要反復調式設計的系統(tǒng)模型

共享Base Workspace
matlab與simulink都有獨自的變量空間,一般不會相互干擾
如果你運行一個simulink模型文件,會默認產生變量out
(以上指MATLAB2020B)
這是MATLAB與Simulink共享工作區(qū)

簡單設置一下


這里將第二種方法


直接運行,報錯哦


選擇fix,選擇mat 文件 ,按照提示走一波


這里A.mat 存入A = 5
嘗試第二種方法,清除變量區(qū)


介紹第三種方法? ?Model Properties

在Callbacks里添加回調函數(shù)
InitFcn 初始化回調函數(shù),每次運行前觸發(fā)



關閉文件,重新打開運行


注:PreloadFcn 僅適用于首次打開運行時觸發(fā)
還有一種方式,可歸為共享MATLAB工作區(qū)

代碼如下:
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工作區(qū)
Model Properties觸發(fā)回調函數(shù)