0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

MATLAB 来源:djl 作者:柚籽 2019-09-17 09:53 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

其实也就是使用 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. 简单模型

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

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

得到代码:

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

2. 调用外部函数

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

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

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

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

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

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

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

    关注

    0

    文章

    92

    浏览量

    16610
  • 运算
    +关注

    关注

    0

    文章

    132

    浏览量

    26600
  • 脚本
    +关注

    关注

    1

    文章

    407

    浏览量

    29051
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于系统链接脚本的介绍

    一、队伍介绍 本篇为蜂鸟E203系列分享第四篇,本篇介绍的内容是系统链接脚本。 二、如何实现不同的下载模式? 实现三种不同的程序运行方式,可通过makefile的命令行指定不同的链接脚
    发表于 10-30 08:26

    AES加解密算法逻辑实现及其在蜂鸟E203SoC上的应用介绍

    这次分享我们会简要介绍AES加解密算法的逻辑实现,以及如何将AES算法做成硬件协处理器集成在蜂鸟E203 SoC上。 AES算法介绍 AES算法属于对称密码算法中的分组密码,其明文/密文分组长度为
    发表于 10-29 07:29

    卷积运算分析

    的数据,故设计了ConvUnit模块实现单个感受域规模的卷积运算. 卷积运算:不同于数学当中提及到的卷积概念,CNN神经网络中的卷积严格意义上是指互
    发表于 10-28 07:31

    FFT快速傅里叶变换——方波及其谐波验证

    Math即数学运算,一般示波器的频谱模式的数学运算就在这个按键里面选择FFT功能,这就是它的频谱功能,选择源通道1然后将它每格代表的信号调小,左右调它的信号,调到最合
    的头像 发表于 08-13 17:34 875次阅读
    FFT快速傅里叶变换——方波及其谐波验证

    FPGA定点和浮点数学运算实例对比

    在创建 RTL 示例时,经常使用 VHDL 2008 附带的 VHDL 包。它提供了出色的功能,可以高效地处理定点数,当然,它们也是可综合的。该包的一些优点包括:
    的头像 发表于 06-23 09:53 772次阅读
    FPGA定点和浮点<b class='flag-5'>数学运算</b>实例对比

    OptiSystem应用:用MATLAB组件实现振幅调制

    本案例展示了在OptiSystem中调用MATLAB代码实现振幅调制。 一、建模目标 案例中,我们生成两束功率为0dBm,频率分别为192.7THz、191THz的载波,合束之后经过自定义脉冲的调制
    发表于 06-13 08:46

    罗德与施瓦茨示波器RTP064B设置垂直刻度技巧

    自带的校准信号源,调整探头补偿电容直至波形符合标准。 3. 数学运算辅助放大 利用示波器的数学运算功能(如乘法、减法),可间接放大信号细节。例如,通过“信号×2”的数学通道,将原始信号幅度翻倍显示。此方法适用于分析叠加在较大信号
    的头像 发表于 05-23 14:08 587次阅读
    罗德与施瓦茨示波器RTP064B设置垂直刻度技巧

    从零开始学运算放大器笔记一 | 认识运算放大器

    )是一种模拟电路模块,它采用差分电压输入,产生单端电压输出。它可以对输入信号进行放大以及加、减、乘、除、微分、积分等数学运算,现多应用于信号放大功能。一个运算放大器至
    的头像 发表于 03-24 19:32 3753次阅读
    从零开始<b class='flag-5'>学运算</b>放大器笔记一 | 认识<b class='flag-5'>运算</b>放大器

    如何使用MATLAB实现一维时间卷积网络

    本文对一维卷积操作进行介绍,包括一维扩展卷积和一维因果卷积,以及 MATLAB 对一维卷积的支持情况。在最后通过一个实例演示如何在 MATLAB 中将一维卷积和 LSTM 结合构建分类网络,
    的头像 发表于 03-07 09:15 1665次阅读
    如何使用<b class='flag-5'>MATLAB</b><b class='flag-5'>实现</b>一维时间卷积网络

    如何运用MATLAB来控制DLP4500?

    希望通过用MATLAB实现对DLP4500 的控制?因为现在MATLAB可以控制相机,希望也直接控制DLP。 是否有相关的例子来参考。谢谢
    发表于 03-03 06:19

    OptiSystem应用:用MATLAB组件实现振幅调制

    本案例展示了在OptiSystem中调用MATLAB代码实现振幅调制。 一、建模目标 案例中,我们生成两束功率为0dBm,频率分别为192.7THz、191THz的载波,合束之后经过自定义脉冲的调制
    发表于 02-14 09:39

    请问关于ADS5407内部寄存器有没有相关的中文介绍的?

    请问关于ADS5407内部寄存器有没有相关的中文介绍的?其中有几个寄存器的功能不是特别明白,麻烦啦
    发表于 01-17 07:36

    请问如何根据相位噪声求取相位噪声的功率谱密度?

    我现在已经求取了相位噪声(变量为时间t),但是想将此相位噪声通过一定的数学运算转化为相位噪声的功率谱密度,请问可以怎么求解?
    发表于 01-03 06:53

    运算放大器和微控制器的结合应用

    放大器是一种带有特殊耦合电路及反馈的放大器,其输出信号可以是输入信号加、减或微分、积分等数学运算的结果。运算放大器的工作原理主要包括输入信号、输入级、中间级和输出级。输入信号首先经过一个差分放大电路(输入级),用于
    的头像 发表于 12-18 17:53 1205次阅读