资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第七章,Simulink,仿真,(,Simulink,中的“,Simu,lation,”,一词表示可用于计算机仿真,而“,Link”,一词表示它能进行系统连接,即把一系列模块连接起来,构成复杂的系统模型,),Simulink,是一个用来进行动态系统建模,仿真和分析的软件包,它不但支持线性系统仿真,也支持非线性系统仿真,既可以进行连续系统仿真,也可以进行离散系统仿真或二者的混合系统仿真,同时它支持具有多种采样速率的系统仿真。,Simulink,提供了使用方框图进行仿真的平台,使用,Simulink,进行仿真和分析可以像在纸上绘图一样简单,比传统的仿真软件包更直观、方便。,Simulink,是,Matlab,的进一步扩展,它不但实现了可视化的动态仿真,也实现了与,Matlab,、,C,或,Fortran,甚至和硬件之间的相互数据传递,从而大大扩展了其功能。,Simulink,不但可以进行仿真,也可以进行模型分析,控制系统设计等。下面介绍,Matlab,附带的,Simulink,中的模块库。,Simulink,模块库简介,在,Matlab,的命令窗口中键入,Simulink,或在,Matlab,的工具栏中单击,按钮,,可以打开,Simulink,的模块库,其界面又称为,模块库浏览器,。,模,块,库,信号源模块组,Sources,连续模块组,Continuous,离散模块组,Discrete,数学运算模块组,Math,Operations,输出池模块组,Sinks,信号线路发送模块组,Signal,Routing,断续模块组,Discontinuities,Simulink,模型的建立与操作,模型窗口的建立,在,Simulink,中打开一个空白的模型窗口,如下图。可以通过以下几种方法:,在,Matlab,的命令窗口的,File,菜单中选择,New,命令的,Model,;,在,Simulink,窗口下的,File,菜单中选择,New,命令的,Model,;,单击,Simulink,工具栏中的,新建模型,图标,保存模型:,建立一个模型后可以把它保存下来。,使用模型窗口中的,File,菜单下的,Save,选项,或者用,Save as,选项改名保存文件。相应的文件的扩展名为,.,mdl,。在,Matlab,的命令窗口中,键入模型文件名,可以打开相应的模型文件。,模块的有关操作,一,.,模块大小的调整,选中模块后,模块的四角出现了小方块,用,鼠标单击任一角的小方块进行拖拽,即可改,变模块的大小。,二,.,模块的旋转,选中模块后,弹出鼠标右键菜单,然后选择,菜单命令,Format,下的,Rotate block,,模块则,按顺时针方向旋转,90,,若选择,Flip block,,模,块则翻转,180,。,三,.,模块的连接,因为模块的每个允许输出的口都有一个输出符号,,,而输入端也有一个表示输入的符号,,因此若连接两,个模块,只需要在第一个模块的输出口按下鼠标左,键,拖动到后一个模块的输入口处,释放鼠标即可。,若想快速的连接两个模块,可单击选中源模块,按,下,Ctrl,键,再单击目标模块即可。,连线的分支,:在仿真过程中,经常需要把一个信号输,送的不同的模块,这时就需要从一根线中分出一根连,线。操作方法,在连好一条线后,把鼠标放到分支点,的位置,先按下,Ctrl,键,然后按下鼠标拖动到目标模,块的输入端,释放鼠标和,Ctrl,键。,四,.,模块标签的改变,在模型窗口中创建模块时,,Simulink,会在每个模块的下面默认位置上加一个标签。用户可以按照自己的意愿给模块命名。这时只需要在标签的任何位置单击或双击鼠标,然后进行修改即可。,五,.,模块参数的修正,Simulink,在绘制模块时,给出的是带有默认参数的模块模型,所以通常需要修改。具体过程为选中模块并双击,在弹出的对话框中,找到对应的参数并修改即可。,Simulink,模型举例,例,1,设系统的微分方程为:,试建立系统仿真模型。,微分方程中的系统是时间,t,的函数,,t,由信号源模块库,(Sources),中的,时钟模块,(Clock),提供,用数学运算模块库,(Math Operation),中的,数学函数模块,(Math Function),产生,再配合以,Sources,库中的,常数模块,(Constant),、,Math Operations,库中的,乘积模块,(Product),和连续系统模块库,(Continuous),中的,积分模块,(Integrator),等,就可以建立系统模型。关于输出可以用输出模块库,(Sinks),中的输出端口模块,(Out),,也可以用,Scope,模块等等。,操作过程如下:,打开一个模型编辑窗口。,将所需要的模块添加到模型窗口中。,设置模块参数并连接各个模块组成仿真模型。双击,Constant,模块,打开其参数设置对话框,在,Constant value,栏中输入,-0.5,,其余模块不用设置。,连接各个模块组成系统仿真模型,如下图。,仿真模型,系统的仿真,设置仿真参数,在仿真过程中,要对仿真算法,输出模式等各种仿真参数进行设置。,在模型编辑窗口的,Simulation,菜单中选择,Configuration Parameters,命令,打开仿真参数对话框。包含,7,个选项。如图:,启动仿真,点击启动按钮或者从菜单中启动。,观察仿真结果的变化轨迹:把输出信号送到,Scope,模块或者,XY Graph,模块。,sine wave,参数修改:双击该模块,可以修改频率,振幅,和相位,(pi/2),等,Scope,的设置,双击,Scope,模块,在,Parameters,中修改,Number of axes,为,2,(两路信号),屏幕变成两个子窗口,在每个子窗口上点击右键,选择,autoscale,用,XY Graph,模块观察送的该模块上的两个信号中的一个对另一个的变化关系,。,例,用,Simulink,构建函数曲线,有两种方法可以构建函数曲线,一种方法是采用,Matlab,函数模块,一种是使用基本模块的组合连接。,方法,1,:采用,Matlab,Fcn,模块构建,先建立 的,M,函数文件,f.m,function y=,f(t,),y=5*t*t+16,;,然后建立模型窗口,在模型窗口中添加所需的模块。一个,时钟(,Clock,),模块、两个,to workspace,模块,一个,示波器(,Scope,),模块。在,User-Defined Functions,(用户自定义函数)模块中拖出,Matlab,Fcn,(,Matlab,函数),模块。并把各模块按下图连线。,连好后,仿真模型就已经构建完成。,下面需要,设置各模块的参数,:,双击,Matlab,Fcn,模块,键入所建信号源的,M,文件名,f,。,双击两个,To Workspace,模块,分别输入变量名为,t,和,y,,,Save format,选择,Array,模式。如下图:,最后启动仿真,得到的函数曲线如下图(双击示波器模块),说明:模型中的两个,To Workspace,模块的功能是将,时间变量,t,和输出变量,y,存入,Matlab,的工作空间,,,选择存储格式为,Array,模式,。仿真结束后可以用,plot(t,y,),命令进行绘图来观看输出结果。而通过示波器可以随时观看仿真结果。,方法二:利用基本模块组合,构建该信号源的另一种方法是将一些常用的数学模块进行组合建模,其模型如下图所示,例:利用,Simulink,仿真求定积分,仿真过程如下:,打开一个模型编辑窗口。,将所需的模块添加到模型窗口中,一个时钟模块(,Sources,库中的),一个,Fcn,(函数模块)(在,User-Defined Functions,模块库中),一个,Integrator,(积分模块)(在,Continuous,库中),一个,Display,模块(在,Sinks,库中)。,设置模块参数并进行连接各模块组成仿真系统。双击,Fcn,模块,打开对话框,在,Expression,栏中输入,u*log(1+u),,如下图所示。其余模块参数不用设置。,设置模块参数后,用线将各模块连接起来组成仿真模型,如下图,设置系统仿真参数,。单击模型窗口中的,Simulation,菜单中的,Simulation Parameters,选项,打开仿真参数设置对话框,选择,Solver,选项。在,Start time,和,Stop time,两个框中分别设置起始为,0,,停止为,1s,。把算法选择中的,Type,设为,Fixed-step,,并在具体算法选择框中选择,ode5(Dormand-Prince),,再把,Fixed step size,设为,0.001s,。(固定步长),开始系统仿,真。单击运行,按钮即可。,观察仿真结,果。系统仿真,结束后,显示,模块,Display,显,示仿真结果为,0.25,由以上几个例子可以总结处利用,Simulink,进行系统仿真的步骤如下:,建立系统仿真模型,包括添加模块、设置模块参数以及进行模块连接等操作。,设置仿真参数。(在菜单,Simulation -parameters,中的),启动仿真并分析仿真结果。,
展开阅读全文