其實(shí)也就是使用 Simulink 庫(kù)里相應(yīng)的模塊,以及使用 Stateflow 流程圖向?qū)АT谶@一篇,我們介紹使用MATLAB Function的方式。
其實(shí),如果想在 Simulink 里嵌套使用 m 腳本來(lái)實(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 模塊可以直接寫(xiě)相應(yīng)的 m 腳本。
For循環(huán)
1. 簡(jiǎn)單模型
直接把循環(huán)的腳本寫(xiě)進(jìn)去就行了:
得到代碼:
2. 調(diào)用外部函數(shù)
當(dāng) m 腳本里,如果有些運(yùn)算需要調(diào)用到外部已有的 Simulink 函數(shù)時(shí),跟 Stateflow 一樣,也可以使用 function call 的形式。如下圖,在 MATLAB Function 的數(shù)據(jù)管理界面上,將 func 設(shè)置為 function call 類(lèi)型:
MATLAB Function 內(nèi)部運(yùn)行到 func; 這一句時(shí),觸發(fā)調(diào)用外部的 Trigger 子系統(tǒng) func 計(jì)算輸出,從而更新 func_flag 的值:
生成的代碼如圖,這里做了模型配置把所有代碼注釋都去掉了:
-
循環(huán)
+關(guān)注
關(guān)注
0文章
92瀏覽量
16329 -
運(yùn)算
+關(guān)注
關(guān)注
0文章
132瀏覽量
26203 -
腳本
+關(guān)注
關(guān)注
1文章
398瀏覽量
28453
發(fā)布評(píng)論請(qǐng)先 登錄
FPGA定點(diǎn)和浮點(diǎn)數(shù)學(xué)運(yùn)算實(shí)例對(duì)比

OptiSystem應(yīng)用:用MATLAB組件實(shí)現(xiàn)振幅調(diào)制
羅德與施瓦茨示波器RTP064B設(shè)置垂直刻度技巧


2分鐘教會(huì)你-示波器MATH數(shù)學(xué)運(yùn)算功能#示波器 #數(shù)學(xué)運(yùn)算 #電子工程師 #示波器MATH
從零開(kāi)始學(xué)運(yùn)算放大器筆記一 | 認(rèn)識(shí)運(yùn)算放大器

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

OptiSystem應(yīng)用:用MATLAB組件實(shí)現(xiàn)振幅調(diào)制
請(qǐng)問(wèn)關(guān)于ADS5407內(nèi)部寄存器有沒(méi)有相關(guān)的中文介紹的?
請(qǐng)問(wèn)如何根據(jù)相位噪聲求取相位噪聲的功率譜密度?
運(yùn)算放大器和微控制器的結(jié)合應(yīng)用
三種常見(jiàn)平方根算法的電路設(shè)計(jì)及Verilog實(shí)現(xiàn)與仿真

評(píng)論