开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块

这篇具有很好参考价值的文章主要介绍了开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

前言

MATLAB Fuction模块

采样点设置

FFT 求解

分析和应用

总结


前言

        见《开箱报告,Simulink Toolbox库模块使用指南(一)——powergui模块》

MATLAB Fuction模块

        MATLAB Fuction模块是在Simulink建模仿真或生成代码时,调用Matlab库函数或自定义函数的一个接口。其在Simulink Toolbox库中的位置如下图所示。

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

        Mathworks官方Help对该模块的说明如下所示。

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

        MATLAB Fuction模块里边可调用的库函数包括abs()、sqrt()、mod()、max()、min()、sun()、mean()、var()、std()、sin()、fft()等。其他更多库函数可以在Help中查找,如下图所示。

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

        这些库函数涉及的数学基础和扩展知识非常多,本文选取其中的fft()函数为例,重点介绍该函数在MATLAB Fuction模块中的使用方法。fft()函数在官方Help中的介绍如下:

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

采样点设置

        这里举例一个AC220V 50Hz的电网中,叠加了一个AC110V 100Hz的信号,两个信号源的设置如下:

T = 0.001;    %信号采样周期1ms
Fre = 1/T;    %信号采样频率1000Hz
Length = 500;    %500个采样点
t = (0:Length-1)*T;    %信号时间轴
U1 = 220*sqrt(2)*sin(2*pi*50*t);    %AC220V@50Hz信号
U2 = 110*sqrt(2)*sin(2*pi*100*t);    %AC110V@100Hz信号
S = U1 + U2;    %耦合信号

        上述两个AC信号耦合后得到的S信号如下:

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

FFT 求解

        第一步,使用MATLAB Fuction模块调用fft()库函数对上述叠加信号的采样点进行解算,函数代码如下所示:

function [freq, y] = fcn(S)

Fs = 1000;

L = length(S);
Y = fft(S);
P2 = abs(Y)/L;
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);

freq = (0:L/2)*Fs/L;
y = P1;

        第二步,在Simulink模型中使用两个Display模块,查看上述函数计算获得的freq向量和y向量,如下图所示:

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

        为了更直观的看到freq和y的对应关系,可以用plot()函数将两个信号画成一条相关曲线,如下图所示:

开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块,Matlab/Simulink,汽车,mcu,开发语言,matlab,算法

分析和应用

        MATLAB Fuction模块在Simulink模型仿真和自动生成代码上面的应用功能非常强大,主要得益于MATLAB自带了丰富的库函数,并且开发人员还能基于该模块开发自己的函数库。项目中使用MATLAB Fuction模块后,很多功能开发的代码量大大减少,同时也意味着软件开发全流程的人力和时间投入大幅缩减。主要适用于有架构支撑、模块化开发的大型软件项目,可以合理协调团队成员的分工合作,提高代码可控性,增加代码的复用率,减少代码移植障碍。

总结

        以上就是本人在使用MATLAB Fuction模块时,一些个人理解和分析的总结,首先介绍了该模块的背景知识,然后分别展示它的求解使用方法,最后分析了该模块的特点和适用场景。

        后续还会分享另外几个最近总结的Simulink Toolbox库模块,欢迎评论区留言、点赞、收藏和关注,这些鼓励和支持都将成文本人持续分享的动力。

        另外,上述例程使用的Demo工程,可以到笔者的主页查找和下载。


        版权声明,原创文章,转载和引用请注明出处和链接,侵权必究!文章来源地址https://www.toymoban.com/news/detail-633076.html

到了这里,关于开箱报告,Simulink Toolbox库模块使用指南(二)——MATLAB Fuction模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Shell 命令集合 系统设置 】Linux 加载和卸载内核模块 modprobe命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 modprobe命令是Linux系统中用于加载和卸载内核模块的工具。内核模块是一种可以动态加载到内核中的代码,它们可以扩展内核的功能,添加新的驱动程序或功能。 modprobe命令的主要作用有以下几个方面: 加载内核模块:modprobe命令可以根据

    2024年02月04日
    浏览(61)
  • 【Shell 命令集合 系统设置 】⭐Linux 向内核中加载指定的模块 insmod命令 使用指南

    Shell 命令专栏:Linux Shell 命令全解析 insmod命令是Linux系统中的一个命令,用于向内核中加载指定的模块。它的作用是将指定的模块文件加载到内核中,使得系统可以使用该模块提供的功能。 模块是一种可以动态加载到内核中的代码,它可以扩展内核的功能。在Linux系统中,模

    2024年02月07日
    浏览(58)
  • Spark初学者指南:使用指南和示例

    本文介绍了如何使用Spark处理大规模数据集,并提供了一个Scala编写的Word Count示例,指导您从安装和配置到编写和运行Spark应用程序。无需担心,即使您是Spark初学者,也可以按照本文的步骤来学习和使用Spark。 Spark是一个流行的分布式计算框架,用于处理大规模数据集。它使

    2024年02月06日
    浏览(63)
  • 【12】Git工具 协同工作平台使用教程 Gitee使用指南 腾讯工蜂使用指南【Gitee】【腾讯工蜂】【Git】

    tips:少量的git安装和使用教程,更多讲快速使用上手Gitee和工蜂平台      Git - Downloads (git-scm.com) 找到对应操作系统,对应版本,对应的位数   下载后根据需求自己安装,然后用git --version验证是否成功   使用 SSH 密钥可以让你在与 Git 服务器进行通信时,实现更安全的身份

    2024年02月13日
    浏览(49)
  • Jmeter进阶使用指南-使用断言

    Apache JMeter是一个流行的开源负载和性能测试工具。在JMeter中,断言(Assertions)是用来验证响应数据是否符合预期的一个重要组件。它是对请求响应的一种检查,如果响应不符合预期,那么断言会标记为失败。 以下是如何在JMeter中使用断言的基本步骤: 添加断言 :首先,你

    2024年02月09日
    浏览(45)
  • SQL简单使用指南

    SQL(结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言。 数据库是用于存储和组织数据的结构。它由表(表格)组成,每个表都包含多个列和行。以下是SQL中最常用的一些关键术语: 表(Table) :数据库中的基本组织单位,它由列和行组成。 列(Column)

    2024年02月13日
    浏览(41)
  • Polars使用指南(二)

    在上一篇文章中,我们介绍了Polars的优势和Polars.Series的常用API,本篇文章我们继续介绍Polars.Series的扩展API。 对于一些特殊的数据类型,如 pl.Array、list、str 等,Polars.Series 提供了基于属性的直接操作API,如果可以使用下述API实现的功能,应尽量避免使用 map_elements,因为效率

    2024年01月23日
    浏览(45)
  • Sqlmap使用指南

    使用流程: 当给sqlmap一个url的时候,它会有如下流程: 1、判断可注入的参数 2、判断可用哪种SQL注入技术进行注入 3、识别出哪种数据库 4、根据用户选择,读取哪些数据 支持的模式(5种) 1、基于布尔的盲注,即可根据返回页面判断条件的真假的注入 2、基于时间的盲注,

    2024年02月08日
    浏览(42)
  • thegraph使用指南

    Ethereum mainnet Kovan Rinkeby Ropsten Goerli PoA-Core PoA-Sokol xDAI Matic Mumbai Fantom Binance Smart Chain Clover Avalanche Fuji Celo Celo-Alfajores Fuse Moonbeam Arbitrum One Arbitrum Testnet (on Rinkeby) Optimism Optimism Testnet (on Kovan) 安装yarn,node环境 设置yarn仓库 curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee

    2024年02月09日
    浏览(46)
  • Docker 网络使用指南

    目录 前言 Docker网络类型 Docker 网络概念 使用 Docker 网络 运行容器并连接到网络 检查网络 清理网络资源 Docker Compose网络 Docker 是一种容器化平台,它允许你将应用程序和它们的依赖项打包成一个称为容器的独立单元。Docker 提供了一种轻量级、可移植和自包含的方式来部署应用

    2024年02月05日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包