MatlabSimulink 模型介绍
近期由于刚换工作,所以把上家公司整理的一些再次上传到网上,防止后续丢失。第一篇先简单介绍下MATLAB/Simulink模型介绍及仿真吧。
先简单介绍下什么是matlab,Matlab功能强大,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。由于个人主要使用matlab的simulink功能,现在主要对模型搭建进行介绍。
这里分两部分来写,我们先从模型的概况来理解,后面再细讲怎么去搭建。
模型概况(状态机):下图是模型最外层的一个状态机图,左边是输入端口,右边是输出端口。这个图是可以在matlab的图形库拖出来的,后续会讲。搭建模型第一步是要把这个状态机从库里图拖出来。
模型概况(状态交换):状态机图双击进去可以开始拖一些箭头和函数框开始搭建函数模型。
双击状态机进入下图:下图有两个大状态DISABLE和ENABLE,ENABLE里又有两子状态NORMAL和ONGOING。
模型概况(函数实体)
双击上图中的函数进入下图(箭头处可以填写判断逻辑)。这里是逻辑实现地方,后续生成代码都跟这里会一一对应。
模型搭建:上面大概讲了一个模型的结构,下面具体去讲怎么搭建模型。
上图是把状态机拖出来后,再双击状态机后进去的一张图。上图左侧已经列出常用的搭建模型的按键,以下对我们常用的按键解释下
状态:创建状态机的状态
节点:系统不能停在节点上,但可以停在状态中
跳转:一般和节点配合使用
函数:由于我们是simlink建模,所以我们用Simlink Fcn
历史状态:对于某些问题而言,我们返回一个状态的时候不能总返回默认状态,而是要返回离开前的最后一个状态,这就是历史状态的用处。
以上按键按需拖动到需要处即可。
模型搭建之函数搭建:
正常拖动函数按键后如上图,函数名 可以点击命名。这里命名为TestFunction。
一般拖出来的函数实体在这个框里写不下,然后我们可以创建子模块来写。如下图。创建后双击函数块即可进入子模块。我们主要函数一般都在子模块完成。
打开Matlab并添加状态机:最外层的状态机怎么拖出来搭建?
请看下图: 下图是打开matlab软件会出现的,在命令窗口输入state flow就会新建状态机。
Note:有时候状态机的输入或输出端口太多,状态机可能不会在可视范围。这时候可以下滑滚轮或者点击fit to view按钮让状态机剧中显示
添加输入端口: 点击Library Browser按钮,在sources中选中In1输入端口。找到In1并拖到状态机图上即可。
同理添加输出端口: 输出端口在Sinks中
添加输入及输出数据: 按照Model Explorer->Add Data顺序添加数据。添加完数据需要在Scope列选择属性是input,output,Local还是其他。DataType列选择类型。
Note1:需要先选中状态机标志才能添加数据。如本模型状态机名为IPC_CompassDisp,所以要先选中该状态机。
Note2:这里的Port列一般在添加端口模型时自动排列。但是有时候可能连续添加很多端口,这边Port排序排好了,但是又把中间某一个或者某几个端口删除了,这时候Port不会再自动排序。则会造成模型端口与这里的Port不匹配。这样会对后期的UT测试造成错误。所以这里Port号需要检查与前面模型号保持一致。
端口颜色设置: 有时候,我们想把标定输入变量和其他输入变量分开,除了命名区分外,也可以如图在端口出右击,调出Format/Background Color选不同颜色
上图完成了模型的搭建,下面需要配合脚本生成报告。
报告查看: 运行相应的脚本生成.c和.h文件及报告
点击上图的.c和.h文件可以查看生成的代码报告
生成代码可读性很差,所以需要代码和模型结合一起看。可以点击报告中的Transition找到模块对应的位置 。
以上写的比较笼统,适合有一定基础的朋友观看。有疑问可以一起讨论,谢谢!
MATLAB-Simulink汽车仿真案例大放送!(附软件下载和教学视频)
Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
小编整理了若干MATLAB-Simulink汽车仿真案例,附赠软件下载和教学教程(文档和视频),方便大家学习交流。
以上是部分资料。
获取资料,请私信回复:汽车仿真。注意是私信,不是评论哦。
相关问答
通信专业matlab用那本书好?
最基本的函数,help如果英文不好的,推荐几本的中文我在学的,各有特点。《MATLAB函数速查手册》偏重基本函数介绍。《MATLAB从零到进阶》感觉更偏重函数应用...
问一下,Matlab与Simulink,在实际fpga项目中用的多吗?FIR,FFT,DDS,CORDIC,8b/10b,这些常用吗?
能用到不常用,比如说视频传输就会用到8b/10b编码。通信会用到FFT,主要是看你用FFT做什么工作,最常用的还是verilog逻辑。而且你说的这些都是IP核,不需要matla...
simulink是matlab的一部分吗?
是Simulink是MATLAB软件的重要组成部分,能够进行动态系统的建模、仿真和综合分析,在学术和工业领域的网用越来越广泛。是Simulink是MATLAB软件的重要组成部...
MATLAB中的simulink是做什么的?说的通俗简单点?
Simulink是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是Matlab的重要组成部分。总结一下Simulink建模与仿真步...
matlab的常用程序语言?
c语言,MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Sim...
matlab应用运放搭建仿真电路?
1、打开matlab进入simulink库,这一步就不多说。2、在simscape下的FoundationLibrary中的Electrical->ElectricalElements中可...
matlab中的simulink怎么运行?
要在MATLAB中运行Simulink模型,首先需要打开Simulink库,然后选择所需的模型或创建新模型。在模型中添加所需的模块和连接线,然后配置模块参数。可以使用信号产...
simulink能转matlab吗?
Simulink可以帮助用户快速地建立模型并进行仿真分析,而将Simulink模型转换为Matlab代码可以帮助用户进行更深入的分析和优化。通过Simulink的代码生成器,用户...
matlab是哪个国家开发的?
matlab是美国开发的。MATLAB是美国MathWorks公司出品的商业数学软件。用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主...
Matlab的Simulink系统中如何创建或封装子系统?
1.首先新建【simulinke文件】,打开【simulink库】。2.打开【simulink库第一个文件分类】,点击【ports&subsystem】找到【subsystem】。3.把...