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);
ye
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条)