其實(shí)也就是使用 Simulink 庫里相應(yīng)的模塊,以及使用 Stateflow 流程圖向?qū)АT谶@一篇,我們介紹使用MATLAB Function的方式。
其實(shí),如果想在 Simulink 里嵌套使用 m 腳本來實(shí)現(xiàn)某些復(fù)雜的數(shù)學(xué)運(yùn)算,用 MATLAB Function 也是一種很方便的途徑。
點(diǎn)擊末尾的 “閱讀原文” 下載本文的案例模型
循環(huán)邏輯
要得到:
y1 = 0;
for(inx = 0; inx <10; inx++)
{
y1 = u1[inx] + y1;
}
或者
while(flag && (num_iter <= 100)
{
flag = func ();
num_iter ++;
}
怎么做:
MATLAB Function 模塊可以直接寫相應(yīng)的 m 腳本。
For循環(huán)
1. 簡單模型
直接把循環(huán)的腳本寫進(jìn)去就行了:
得到代碼:
2. 調(diào)用外部函數(shù)
當(dāng) m 腳本里,如果有些運(yùn)算需要調(diào)用到外部已有的 Simulink 函數(shù)時,跟 Stateflow 一樣,也可以使用 function call 的形式。如下圖,在 MATLAB Function 的數(shù)據(jù)管理界面上,將 func 設(shè)置為 function call 類型:
MATLAB Function 內(nèi)部運(yùn)行到 func; 這一句時,觸發(fā)調(diào)用外部的 Trigger 子系統(tǒng) func 計(jì)算輸出,從而更新 func_flag 的值:
生成的代碼如圖,這里做了模型配置把所有代碼注釋都去掉了:
-
循環(huán)
+關(guān)注
關(guān)注
0文章
92瀏覽量
16192 -
運(yùn)算
+關(guān)注
關(guān)注
0文章
132瀏覽量
26024 -
腳本
+關(guān)注
關(guān)注
1文章
395瀏覽量
28278
發(fā)布評論請先 登錄
相關(guān)推薦
從零開始學(xué)運(yùn)算放大器筆記一 | 認(rèn)識運(yùn)算放大器

如何使用MATLAB實(shí)現(xiàn)一維時間卷積網(wǎng)絡(luò)

請問如何根據(jù)相位噪聲求取相位噪聲的功率譜密度?
運(yùn)算放大器和微控制器的結(jié)合應(yīng)用
三種常見平方根算法的電路設(shè)計(jì)及Verilog實(shí)現(xiàn)與仿真

比較器與運(yùn)算放大器件選型應(yīng)用優(yōu)勢介紹
matlab 神經(jīng)網(wǎng)絡(luò) 數(shù)學(xué)建模數(shù)值分析
MATLAB(4)--MATLAB基本運(yùn)算
基于MATLAB的通信系統(tǒng)設(shè)計(jì)
matlab預(yù)測模型怎么用
matlab預(yù)測模型有哪些
如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練
運(yùn)算放大器的工作原理和重要應(yīng)用

評論