其實也就是使用 Simulink 庫里相應的模塊,以及使用 Stateflow 流程圖向導。在這一篇,我們介紹使用MATLAB Function的方式。
其實,如果想在 Simulink 里嵌套使用 m 腳本來實現某些復雜的數學運算,用 MATLAB Function 也是一種很方便的途徑。
點擊末尾的 “閱讀原文” 下載本文的案例模型
循環邏輯
要得到:
y1 = 0;
for(inx = 0; inx <10; inx++)
{
y1 = u1[inx] + y1;
}
或者
while(flag && (num_iter <= 100)
{
flag = func ();
num_iter ++;
}
怎么做:
MATLAB Function 模塊可以直接寫相應的 m 腳本。
For循環
1. 簡單模型
直接把循環的腳本寫進去就行了:
得到代碼:
2. 調用外部函數
當 m 腳本里,如果有些運算需要調用到外部已有的 Simulink 函數時,跟 Stateflow 一樣,也可以使用 function call 的形式。如下圖,在 MATLAB Function 的數據管理界面上,將 func 設置為 function call 類型:
MATLAB Function 內部運行到 func; 這一句時,觸發調用外部的 Trigger 子系統 func 計算輸出,從而更新 func_flag 的值:
生成的代碼如圖,這里做了模型配置把所有代碼注釋都去掉了:
-
循環
+關注
關注
0文章
92瀏覽量
15973 -
運算
+關注
關注
0文章
130瀏覽量
25787 -
腳本
+關注
關注
1文章
389瀏覽量
14860
發布評論請先 登錄
相關推薦
評論