Simulink是Matlab软件包之一,用于可视化的动态系统仿真。在Simulink中可建立起直观形象的系统结构图数学模型,实现动态系统的建模、仿真和分析,它使Matlab的功能得到进一步的扩展和增强,可高效率地开发和设计系统,并可实现多工作环境的文件互用和数据交换,如Simulink与Matlab、Simulink与FORTRAN、C、C++,从而把理论研究和工程实践有机地结合在一起。Simulink适用于连续系统和离散系统、也适用于线性系统和非线性系统。
利用Simulink进行系统仿真的步骤如下:
(1)进入Simulink仿真器环境。
在Matlab命令窗口中运行Simulink,进入Simulink仿真器的模块库,如图2.12.3所示。
(2)模型创建。
直接单击选择“new model”,借助Simulink模型库,可创建系统的动态结构图数学仿真模型。
模型库包括:Continuous(连续系统)、Discrete(离散系统)、Discontinuous(不连续系统)、Sources(信号源)、Sinks(输出方式)等。每个标准模块库中存储有多个相应的基本功能模块,单击某个模块即可选择并打开相应的基本功能模块。
根据要建立的动态结构图,从模块库中选择所需模块,按住鼠标左键拖入建模窗口后松开,即建立该模块。按照模块之间的关系,用鼠标单击前一模块的输出端,光标变为“+”后,拖动十字图符到下一模块的输入端,然后释放鼠标键,即可将模块连接在一起。用鼠标左键选中该模块,拉动模块的四个边角,即可随意设置其大小;模块也可移动、删除、复制,方法与Windows基本操作相同。
图2.12.3 Simulink模块库窗口
模型创建完成后,如果模块参数不合适,可双击该模块打开模块属性表,修改模块的内部参数。
(3)设置仿真参数,如步长、仿真时间、积分算法、允许误差等,然后启动仿真。
(4)输出仿真结果。
输出模块库提供了几个实用的输出模块。其中,Scope、XY Graph和Display是用来直接观察仿真输出的。
Scope:将信号显示在类似示波器的窗口内,可以放大、缩小窗口,也可以打印仿真结果的波形曲线。
XY Graph:绘制X-Y二维的曲线图形,两个坐标刻度范围可以设置。
Display:将仿真结果的数据以数字形式显示出来。(www.xing528.com)
只要将这三种输出模块图形放在控制系统模型结构图的输出端,就可以在系统仿真时,同时看到系统的仿真结果。Display将数据结果直接显示在模块窗口中,而Scope和XY Graph会自动产生新的窗口。
另外也可以利用To Workspace模块,记录所关心的系统变量,仿真结束后,在Matlab环境下用plot指令绘制变量的曲线。
(5)模型保存。
在建模窗口中选择“File”→“Save”命令保存文件。以后在Matlab指令窗中直接输入模型文件名字,就可打开该模型的方框图窗口,并可对其进行编辑、修改和仿真。在模块库窗口中,单击“打开”图标也可打开已存在的模型。
举例:
双积分系统的传递函数为:,若输入U是一个阶跃信号,且I=1,则该系统在Simulink中的仿真描述如图2.12.4所示。
图2.12.4 双积分系统在Simulink中的仿真描述
通过仿真可知系统的输出θ是一个单位加速度函数。
再如,如图2.12.5所示的一个简单摆系统的微分方程模型为+mgl sinθ=Tc,其中I=ml2。
假设l=1 m,m=1 kg,g=9.81 m/s2,Tc为阶跃输入信号,则可用如图2.12.6所示的Simulink仿真框图,得到系统在阶跃力矩作用下摆的角度θ的运动轨迹,如图2.12.7所示。
图2.12.5 摆系统
图2.12.6 摆系统的Simulink仿真框图
图2.12.7 在阶跃力矩作用下摆的角度θ的运动轨迹
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。