问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matlab Simulink建模与仿真入门教程

创作时间:
作者:
@小白创作中心

Matlab Simulink建模与仿真入门教程

引用
CSDN
1.
https://m.blog.csdn.net/Zevalin/article/details/141297603

Simulink是MATLAB中的一个强大工具,主要用于动态系统的建模、仿真和分析。本文将带你从零开始,了解Simulink的基本概念、特点以及如何使用它进行建模和仿真。通过一个具体的二阶振荡电路实例,你将掌握从数学模型建立到Simulink模型搭建再到仿真的完整流程。

一、Simulink简介

1、Simulink与MATLAB的关系

(1)MATLAB是一种以矩阵为来处理数据的的计算软件,其应用范围十分广泛,该产品由若干模块组成,Simulink是其中一个,它可利用图形化的工具来进行建模与仿真。

(2)Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的应用领域十分广泛,任何能用数学模型来描述的系统都可以在Simulink中进行仿真分析,如空气动力学、导航制导通讯、电子、机械、热力学等诸多领域,这些系统从数学角度来描述多涉及连续、离散、非线性、时变、条件执行、多速率混合等用解析方法难以求解的系统,它们都可以通过Simulink进行建模与仿真,从而指导系统的分析与设计。

2、Simulink的特点

(1)交互式建模:提供大量功能模块便于用户快速建立模型,建模仅需利用鼠标拖放功能块并将其连接起来。

(2)交互式仿真:仿真结果可以动态显示,并可以在仿真过程中随时修改参数。

(3)扩展与定制:提供了一个开放式的环境,允许用户扩充功能,可以将C、Fortran编写的算法集成到框图中。

(4)专业的模型库:针对不同行业和领域提供了专业模型库。

3、Simulink窗口的打开

(1)打开MATLAB,在命令行中输入“simulink”,然后按下回车即可。

(2)MATLAB的菜单栏中也有打开Simulink的快捷图标,不同版本的图标显示方式和位置可能略有不同,下面都以R2017b版本进行介绍。

(3)按照下图所示,可以打开已有的模型文件,或者新建空白模型文件。

二、建模与仿真的流程示例

1、一个典例——求解二阶振荡电路

2、数学模型的建立示例

(1)要解决一个实际的问题,首先要建立数学模型,对于动态系统而言,其数学模型往往都是微分方程或者微分方程组,得到它的数学模型以后就可以在Simulink中建立相应的方块图并进行求解与仿真。

(2)在上面的例子中,求解过程中得出一个微分方程
对这个微分方程进行变形,把最高阶的导数项挪到左侧,其余项挪到右侧,即
根据此式可画出如下方块图。

(3)在Simulink中搭建上面的方块图,最终成品如下图所示。

3、在Simulink中搭建数学模型示例

(1)继续使用上面的例子,打开Simulink,然后新建或者打开已有的文件,按照下图所示打开模块库浏览器。

①Simulink栏下将一些模块分为几种类别,分别有常用的模块、连续模块、不连续模块、离散模块、逻辑与位操作模块、查找表格模块、数学操作模块、模型校验模块、端口和子系统模块、用户自定义模块等。

②除了Simulink栏以外,其它栏基本都是一些专业的工具箱,在某些专业领域会频繁使用,当然,它们也隶属于Simulink。

(2)通过拖拽的方式可以将模块浏览器中的模块添加到编辑区中,另外编辑区中支持移动、缩放、同时框选多个模块、Ctrl+C/Ctrl+V快捷键复制粘贴、Backspace/Delete键删除、Ctrl+R/Ctrl+Shift+R快捷键旋转、Ctrl+I快捷键翻转等基本操作。

(3)对于已添加模块,双击它,按照下图所示可以修改其形状。

(4)双击模块可以修改模块的属性:

①针对求和模块,其输入端口数目可通过双击模块,更改属性“List of signs”的内容来改变,两个“+”对应两个输入,四个“+”对应四个输入,以此类推。

②针对增益模块,其增益系数可通过双击模块,更改属性“Gain”的值来改变,这个值就是增益系数(可以是负数)。

③针对阶跃信号产生模块,可通过更改属性“Step time”的值以更改信号产生阶跃的时间。

(5)每个模块都会与其它模块产生关联,也就是一个模块往往都具有输入端和输出端(当然,本例中的Step和Scope并不是这样,它们只有输入端或者输出端),在编辑区中,模块的输入端表示为一个指向模块内部的“无身箭头”,模块的输出端表示为一个指向模块外部的“无身箭头”。

(6)各模块的位置摆好后,可以进行连线。

①鼠标选定模块的端口,直接进行拖拽,可以将其与其它模块的端口进行连线,以此表示信号的传递(违规连接不会被允许)。

②按住Ctrl键点击信号线的某个位置,可以在上面引出一条分支,或者在模块的端口出直接拉出一条信号线连接到其它信号线上,也可以达成同样的效果。

③如果连接的信号线不是黑色实线,说明信号线没能将两端连接,需要重新进行连线。

(7)框选所有模块,右键选择“Format”→“Show Block Name”→“On”,可以让模块的标注保持显示,点击标注可对其进行更改。

(8)选中模块,右键选择“Format”→“Foreground Color”可以设置模块本身的颜色,右键选择“Format”→“Background Color”可以设置模块填充颜色,设置填充颜色可对不同功能/种类的模块进行更好的区分。

(9)模型搭建完成后,可以点击下图所示图标或者使用快捷键Ctrl+S保存,文件格式为.mdl。

(10)当编辑区的内容过多时,往往一个界面已经无法显示全部内容,这时可做以下操作:

①按住鼠标滚轮,即可将鼠标变成手形工具,从而拖动显示区。

②滚动鼠标滚轮,显示区将进行缩放。

③按住Ctrl键滚动鼠标滚轮,显示区将纵向移动。

④按住Shift键滚动鼠标滚轮,显示区将横向移动。

(11)选中模块,右键选择“Properties...”,在“Block Annotation”中可编辑模块注释。

4、仿真示例

(1)使用之前搭建的模型,按照下图所示打开仿真参数设置窗口,一般需要配置的参数有起止时间和求解器选项,这里暂时不作深入介绍。

(2)仿真参数设置完成后,将已知的初始条件

代入模型。

(3)完成以上工作后,可以直接开始仿真。

(4)仿真结束后,双击scope模块,可以查看仿真结果,也就是
的图象。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号