MatLab仿真软件简介

MatLab仿真软件简介


2024年5月11日发(作者:)

附录 A MATLAB仿真软件简介

附录A MatLab 控制系统仿真软件简介

1. MatLab仿真软件简介

MatLab 控制系统仿真软件是当今国际控制界公认的标准计算软件,1999年春MatLab 5.3版问世,使

MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和

数据分析资源、更多的应用开发工具。特别是SIMULINK这一个交互式操作的动态系统建模、仿真、分析

集成环境的出现,使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而即使学生

没有对非线性动态系统进行分析研究的数学基础,仍可通过仿真来认知非线性对系统动态的影响。

2. SIMULINK交互式动态系统建模与仿真

2.1 进入SIMULINK系统

在WINDOWS桌面点击MATLAB图标,即可进入MATLAB系统:

点击工具条最后第二个图标,即可进入SIMULINK元件库:

点击十字节点,或双击Simulink(元件库名),即可进入Simulink元件库,如右上图所示,其中

Continuous、Math、Nonlinear、Sinks和 Sources分别为连续系统元件库、数学元件库、非线性元件库、输

出元件库和输入元件库。

再点击十字节点,或双击Continuous(连续系统元件库名),即可进入连续系统元件库,如下一页的左

上图所示。如果再点击十字节点,或双击Sinks(输出元件库名),即可进入输出元件库,如下一页的右上

图所示。

A-1

附录 A MATLAB仿真软件简介

从左上图可看到连续系统元件库中包括微分器、积分器和传递函数等,一旦点击该些元件名前面的◇

形图标时,在该窗口的右下角会显示该元件的符号图形;若在◇形图标上按压住鼠标左键,将其拖入用户

的图形编辑窗内的适当位置后,释放鼠标左键,即可在自己的图形编辑窗内得到一个所选元件的拷贝。

右上图的Sinks(输出元件库)中最有用的元件是Scope,其功能如同示波器一样,在仿真时可实时显

示动态曲线。

左下图的Sources(输入元件库)中最有用的元件是Signal Generator,其功能如同信号发生器一样,可

产生正弦、方波等信号。

A-2

附录 A MATLAB仿真软件简介

在MATLAB的早期版本中,元件库不是采用目前的树型结构,而是采用浮动窗的形式,其缺点是占

用屏幕和内存太多,优点是比较直观,因此在新版本中还保留了这中功能。操作步骤如下:

1)在元件库浏览窗的‘Simulink’处点击鼠标右键,即弹出一标签‘Open the Simulink Library’,

再在该标签上点击鼠标左键,即浮现出上页左下图所示的元件库,不难看出这些图标是和树型结构

的元件库浏览窗的右下角的图标完全相同。

2)再用鼠标左键点击任一图标,即进入了元件库的底层,如上页右下图为输入元件库,若在图标上按

压住鼠标左键,将其拖入用户的图形编辑窗内的适当位置后,释放鼠标左键,即可在自己的图形编

辑窗内得到一个所选元件的拷贝。

左下图为输出元件库,其中最常用的是示波器(Scope)模块;右下图为线性系统元件库,其中最常用

的是传递函数(Transfer Fcn)模块;左上图是数学元件库,其中最常用的是加法器(Sum)模块;右

上图为非线性系统元件库。

2.2 编辑SIMULINK仿真图

2.2.1 打开用户图形编辑窗

在MATLAB的命令窗(即系统主窗)的‘File’下拉菜单的‘New’--’Model’处点击鼠标左键,即在屏

幕上弹出元件库浏览窗和一个空白用户图形编辑窗。

A-3

附录 A MATLAB仿真软件简介

2.2.2 布置元件

按2.1节所述的方法将所需元件拖入用户的图形编辑窗内的适当位置,如下页图所示:

图中放置了一个信号发生器和一个示波器。

2.2.3 连线

在信号发生器的 > 处按压住鼠标左键,朝示波器的 > 方向拖动,直到 > 处后释放鼠标键,即完成了

二个模块之间的连接,如右上图所示。

如果在连线的某一中间位置按压鼠标右键,朝该连线垂直方向拖动,即可产生分叉线:

2.2.4 转动模块

除了输入和输出模块之外,其他模块的左右两侧分别有 > 表示的输入、输出端口。 该类模块用于

前向通道时无须调整方向, 但当用于反馈通道时必须调整方向, 为此要从下拉菜单 Format -Flip

Block 或Rotate Block,前者可顺时针转动180°,后者可顺时针转动90°。在下拉菜单 Format内还有

对模块的字体、颜色等进行编辑的功能。

2.2.5

修改或删除模块

在模块或连线上单击鼠标左键,即将该模块或连线选中,如果按Del键就可将其删除。也可用橡皮框

将有关元件选中,再对其进行移动、修改或删除等操作。也可利用下拉菜单Edit中的相关命令进行复制、

粘贴等操作。对选中的模块,用按压鼠标左键(当光标为 - 时)方式可将其拉大或缩小。

2.3 参数设置

2.3.1 模块参数设置

在工作图的信号发生器上双击鼠标左键,弹出参数设置对话框如左下图所示:

在波形编辑栏可选定正弦、方波等信号,在下方的三个文本编辑框内,可设定信号的幅值、频率和单

位等参数,点击OK钮就完成了信号发生器的参数设置,对话框自动关闭。

A-4

附录 A MATLAB仿真软件简介

在工作图的示波器上双击鼠标左键,弹出右上图所示的一个示波器。其中的工具条的功能与WINDOWDS

的相关功能雷同,进一步的了解可通过在线Help。

下面通过一个闭环仿真图(如下页所示)来看其他一些典型模块的参数设置方法。

双击加法器模块,弹出加法器模块编辑框如左下图所示,其关键是将文本编辑栏的十十号改成十一号,

以构成负反馈系统。

双击传递函数模块,弹出编对话辑框如下,其中第一条文本编辑栏为传递函数分子系数行向量,第二

条文本编辑栏为传递函数分母系数行向量。其编写规则是按S的降幂次序排列的各项系数,上图中分子是

增益为1的比例环节,分母为S+1的环节。点击OK钮就完成了传递函数的参数设置,对话框自动关闭。

2.3.2 仿真参数设置

执行下拉菜单 Simulation--Parameter命令,就可弹出仿真参数设置的对话框,设置方法如下:

1)在第1、2两个文本编辑栏内可分别设置仿真的起始时间和终止时间。

2)第3、4两个文本编辑栏内一般不必改动,这儿指定微分方程数值解法为ode45(自适应变步长四

阶五阶龙格库塔法)。

A-5

附录 A MATLAB仿真软件简介

3)第6个文本编辑栏内可以设置仿真的相对精度。

4)余下几个文本编辑栏内一般不必改动。

5)按OK键就完成了仿真参数设置,对话框自动关闭。

2.4 简单系统仿真

上图是一个一阶单位负反馈系统,执行下拉菜单 Simulation--Start命令即可开始进行自动仿真,

其单位阶跃响应如下图所示:

只要双击工作图形编辑窗内的传递函数模块,通过对话框编辑,就可将前向通道的传递函数改为二阶

环节:

A-6

附录 A MATLAB仿真软件简介

其单位阶跃响应如右上图所示,这是一个振荡系统的响应。

再来看一个带有死区非线性环节的系统:

该系统的正弦响应带有明显的非线性畸变,这是意料之中的。下面将其改造成一个等效的闭环系统:

该系统的正弦响应没有明显的非线性畸变,这充分体现了闭环对抑制非线性的作用。通过双击死区模块,

可以在对话框内从新设置死区大小,来观察不同大小死区对系统的影响。也可以将上图中的死区模块改为

饱和模块、磁环模块等非线性模块,来观察不同非线性对系统的影响。尽管学生没有学过非线性控制理论,

但通过MATLAB这一工具,对非线性系统的特征可有一个大概的了解。

Simulink图形存盘文件扩展名为 .mdl,在MATLAB命令窗Open文件(不必带扩展名),即可打开它。

A-7

附录 A MATLAB仿真软件简介

3. M文件编辑与控制系统仿真

3.1 M文件编辑

MATLAB的强大功能除了上述SIMULINK面向图形的仿真之外,还可以通过编程的方法进行可视化

科学计算和控制系统的仿真。MATLAB语言雷同于FORTRAN语言,但强于FORTRAN语言。例如A、B

二个矩阵相乘,可以写成A*B,和写数学式子一样方便。

在MATLAB命令窗,执行下拉菜单File - New - M-File 或用工具条中的“打开”图标,即可

打开一个空白的文本编辑窗:

%起头的语句为注释;

fz 和 fm 定义传递函数分子、分母多项式的方法与SIMULINK中方法完全一样, feedback 、step 、

pause 、bode 等是MATLAB的函数或命令,可以通过在线Help了解各个函数或命令的意义和使用方法。

feedback函数中带4个参数,第1、2个参数分别为前向通道传递函数的分子与分母,第3、4个参数

分别为反馈通道传递函数的分子与分母,例中为1、1,即是单位反馈。

3. 2 运行M文件

执行下拉菜单File - Run Script命令,键入M文件名(不必带扩展名),即可运行该文件,

在执行step语句后,屏幕上显示一幅单位阶跃响应图:

A-8

附录 A MATLAB仿真软件简介

在执行bode 语句后,屏幕上显示一幅开环系统频率响应图(BODE图),如上页右下图所示。

3.3 M文件举例

【例1】画出衰减振荡曲线

t=0:pi/50:4*pi;

y0=exp(-t/3);

ye

t

3

sin3t

及其它的包络线

y

0

e

t

3

t

的取值范围是

[0,4

]

%定义自变量取值数组

%计算与自变量相应的y0数组

%计算与自变量相应的y数组

%在“坐标纸”画小方格

y=exp(-t/3).*sin(3*t);

grid

1

0.8

0.6

0.4

0.2

0

-0.2

-0.4

-0.6

-0.8

-1

02

plot(t,y,'-r',t,y0,':b',t,-y0,':b') %用不同颜色、线型绘曲线(’-r’红实线,’:b’兰虚线)

468101214

【例 2】求闭环特征方程的根。

b=[3,2,5,4,6];

p=roots(b)

p =

%多项式系数向量

-1.7680 + 1.2673i 0.4176 + 1.1130i

-1.7680 - 1.2673i 0.4176 - 1.1130i

-0.2991

可见系统有5个根,一个负实根,一对左半平面的复根和一对右半平面的复根,即此闭环系统是不稳定的。

【例 3】求开环传递函数的幅值裕量gm、相位裕量pm、和对应的频率wg及 wp。

fz=[1]; %设置开环传递函数分子

fm=[1, 1.2, 2.4, 0]; %设置开环传递函数分母

[gm,pm,wg,wp]=margin(fz,fm) % 求幅值裕量、相位裕量和对应的频率

gm = 2.8800

pm = 76.5115

wg = 1.5492

wp = 0.4409

更多的函数和命令,请通过在线HELP来学习,MATLAB中的大量函数多有相应的M文件,你可以

打开来读一读,对提高自己的编程能力特别有好处。

A-9


发布者:admin,转转请注明出处:http://www.yc00.com/news/1715414307a2614573.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信