其實(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瀏覽量
16659 -
運(yùn)算
+關(guān)注
關(guān)注
0文章
132瀏覽量
26722 -
腳本
+關(guān)注
關(guān)注
1文章
409瀏覽量
29196
發(fā)布評(píng)論請(qǐng)先 登錄
Arm技術(shù)驅(qū)動(dòng)融合型AI數(shù)據(jù)中心規(guī)?;葸M(jìn)
【乾芯QXS320F開(kāi)發(fā)板試用】乾芯QXS320F開(kāi)發(fā)板IQMath數(shù)學(xué)庫(kù)功能試用報(bào)告
關(guān)于系統(tǒng)鏈接腳本的介紹
AES加解密算法邏輯實(shí)現(xiàn)及其在蜂鳥(niǎo)E203SoC上的應(yīng)用介紹
卷積運(yùn)算分析
FFT快速傅里葉變換——方波及其諧波驗(yàn)證
基于Matlab與FPGA的雙邊濾波算法實(shí)現(xiàn)
FPGA定點(diǎn)和浮點(diǎn)數(shù)學(xué)運(yùn)算實(shí)例對(duì)比
在IAR Arm開(kāi)發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用
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)算放大器
關(guān)于MATLAB Function實(shí)現(xiàn)數(shù)學(xué)運(yùn)算的相關(guān)介紹
評(píng)論