其实也就是使用 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浏览量
15947 -
运算
+关注
关注
0文章
129浏览量
25766 -
脚本
+关注
关注
1文章
385浏览量
14810
发布评论请先 登录
相关推荐
评论