关于MATLAB Function实现数学运算的相关介绍

描述

其实也就是使用 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 的值:

运算

生成的代码如图,这里做了模型配置把所有代码注释都去掉了:

运算

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分