matlab编写数学公式计算,关于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. 简单模型

直接把循环的脚本写进去就行了:

7d7357d1de5e7d6135f0b9402593dfdd.png

得到代码:

86dc89ec897e0c06fac48f8272712b8d.png

2. 调用外部函数

当 m 脚本里,如果有些运算需要调用到外部已有的 Simulink 函数时,跟 Stateflow 一样,也可以使用 function call 的形式。如下图,在 MATLAB Function 的数据管理界面上,将 func 设置为 function call 类型:

73784f2f5a11016f30674356671e3ee1.png

MATLAB Function 内部运行到 func; 这一句时,触发调用外部的 Trigger 子系统 func 计算输出,从而更新 func_flag 的值:

1a6d7ddd3c5a9ecc5fe8b2cc1786f26f.png

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

f7ac8c0e0daa7bcfebebb970a3d8d25a.png

打开APP阅读更多精彩内容

点击阅读全文

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值