MATLAB-Simulink仿真系统.ppt
Simulink仿真系统,在MATLAB中,Simulink是用来对动态系统进行建模、仿真和综合分析的交互工具。可使用Simulink提供的标准模型库或者自行创建的模型库,描述、模拟和精化系统行为。,内 容,简单示例 Simulink仿真环境 仿真模型的创建 动态仿真与结果分析 子系统的创建与封装 连续系统建模,简单示例,示例:用示波器观察正弦波信号,目的:领略Simulink的操作环境;体验Simulink建模、仿真过程与能力,步骤:(1)进入Simulink仿真环境;(2)创建仿真模型(3)仿真与结果分析,简单示例,步骤1:进入Simulink仿真环境单击Matlab命令窗口中的Simulink按钮选择File New Model命令在Matlab的命令窗口中输入命令simulink,可打开“Simulink Libarary Browser”对话框,在该对话框中可查看各种Simulink模块。创建或打开一个模型窗口。,简单示例,步骤2:创建模型 添加Simulink模块;设置模块的属性;连接模块。,在模型窗口中,生成了仿真模型。,简单示例,步骤3:运行仿真系统 设置仿真参数;启动仿真;修改仿真显示的结果。,双击示波器,生成示波器窗口。运行仿真可观察仿真结果。,简单示例,练习:使用Simulink来计算“chirp”信号和正弦函数信号叠加后的信号波形。提示:(1)模块库中的信号源、宿源、数学操作;,Simulink仿真环境,工具栏 新建一个Simulink模型;打开一个已创建的Simulink模型;将浏览器设置在桌面的最高层;关键词查找。菜单栏,模块库浏览器(Simulink Library Brower),Simulink下常用模块,Simulink提供了诸多子模块组,每个子模块组中还包含众多的下一级子模块及模块组.,输入模块组Sources(可用来驱动系统,作为输入信号)输出池模块组Sinks 连续系统模块组Continuous 离散系统模块组Discrete 非线性模块组Discontinuities 数学函数模块组Math Operations 查表模块组Look-up Tables 用户自定义函数模块组User-defined Functions,Simulink下常用模块,信号模块组Signal Routing 信号属性模块组Signal Attributes,Simulink仿真环境,单窗口与双窗口(模型框、模型浏览器)工具栏 菜单栏 状态栏,Simulink 模型窗口界面,创建仿真模型,创建仿真模型就像搭积木一样,打开创建模型窗口,首先从相应的模块库中选出所需要的仿真模块,添加到模型窗口中。然后用信号线把各个模块按照系统要求连接起来,组成所需要的系统仿真模型。仿真模块是创建仿真模型的基本单元,是进行动态系统仿真的基础,创建仿真模型,鼠标左键法 鼠标右键法,仿真模块操作,(1)添加一个仿真模块,(2)模块的选定,单个模块的选定多个模块的选定,创建仿真模型,仿真模块操作,(3)模块的复制,(4)模块的删除,(5)模块的移动,(6)模块大小的调整,(7)模块的旋转,菜单或鼠标右键:Format/Rotate,创建仿真模型,仿真模块操作,(8)模块标签的操作,更改模块标签名:双击并修改改变模块标签位置:菜单或鼠标拖拽 隐藏模块标签:菜单或鼠标右键 Format/Hide name,(9)增加模块阴影,菜单或鼠标右键 Format/Hide drop shadow,创建仿真模型,仿真模块操作,(10)模块参数的设置,双击相应模块,在打开的参数设置对话框中,既可查看模块的各项默认参数设置,也可根据需要修改各项参数设置。,创建仿真模型,仿真信号线,(1)模块间信号线的连接,信号线上传输的信号可以是标量也可以是矢量信号。,(2)绘制支路信号线,光标指向分支线的起点,按下鼠标右键(或按ctrl键,再按鼠标左键),看光标变为十字,拖动鼠标直至分支线的终点处,释放鼠标按钮。,创建仿真模型,仿真信号线,(3)在信号线间插入模块操作,选中需要插入的模块,拖动模块到信号线上需要插入模块的地方,释放鼠标即可。要求插入的模块只能由一个输入端和一个输出端。,创建仿真模型,仿真信号线,(4)分割信号线操作,选中需要分割的信号线,把鼠标移至分割点,同时按下Shift键和鼠标左键,将鼠标拖动分割点至所要求的位置,松开鼠标和Shift键即可。,(5)移动信号线操作,创建仿真模型,仿真信号线,(6)设置信号线标签操作,在需要输入标签的信号线上双击鼠标,在编辑框中输入标签,再用鼠标把标签拖到合适的位置。,创建仿真模型,对模型的注释,(1)模型注释的创建,在将用作注释区的中心位置,双击鼠标左键,出现编辑框,输入完所需的文字后,在框外单击鼠标左键。,(2)注释位置的移动,仿真参数设置,Solver选项页,设置仿真时间、解算方法、输出选择等。,菜单Simulation/simulation parameters命令,完成对各项仿真参数的设置。包括Solver、workspace I/O、Diagnostics、Advanced、Real-Time Workshop选项,(1)仿真时间,Start time 和 Stop time,仿真参数设置,Solver选项页,(2)仿真解法设置,Simulink模型本质上是一个计算机程序,它定义了描写被仿真系统的一组微分或差分方程。仿真时要选择一种数值解算方法。,变步长解法 定步长解法,变步长解法步长容差,ode45ode23ode113ode15s,仿真参数设置,Solver选项页,(3)输出模式设置,细化输出、产生额外输出、只产生指定的输出。一般取缺省设置。,仿真参数设置,Workspace选项页,(1)Load from workspace,仿真数据输入输出设置。,在模型窗中若使用输入摸块In,需选中Input复选框,并在文本框中输入指定的变量名,例如 t u,若输入模块有n个,则u的第1,2,n列分别送往输入模块In1,In2,Inn 外部输入采用的形式可以是输入矩阵,也可以是结构数组。,仿真参数设置,Workspace选项页,(2)Save to workspace,设置保存到工作空间的变量,其中包括时间、状态量和输出。用户可以对保存到工作空间中的变量赋予不同的变量名称。Time和Output两个复选框默认是被选定的,一般在模型运行后,在工作空间都会增加两个变量tout和yout.,运行仿真,启动仿真:命令、窗口或按下Ctrl+T组合键。,如果在仿真运行过程中有错误发生,Simulink会中断仿真并弹出仿真诊断对话框来显示错误信息。,仿真结果分析,利用输出模块分析或使用函数分析。,利用输出模块显示系统的仿真结果。有以下几种方法:(1)观察输出轨迹;(2)以文件形式输出;(3)直接显示数据输出;(4)用表盘和量计显示输出;(5)进行数字信号处理、分析输出,利用输出模块分析,仿真结果分析,利用输出模块分析,(1)观察输出轨迹,1)用Scope模块或XY Graph模块,2)将输出信号写入返回变量,并利用MATLAB命令绘图,3)使用To Workspace模块把输出写入到Matlab工作空间,然后再通过Matlab的绘图命令绘制输出轨迹。,仿真结果分析,利用输出模块分析,(2)以文件形式输出仿真结果,利用输出模块库中的To file模块可以将仿真结果以Mat文件的格式直接保存到数据文件中。,(3)直接显示数据输出,输出模块库中提供了一个Display模块,用于直接显示数据。,仿真结果分析,利用输出模块分析,(4)表盘和量计显示输出,利用Dials&Gauges模块库。,(5)数字信号处理、分析输出,在一些信号的后面直接连接数字信号处理模块,以便获得信号的处理结果。在DSP Blockset中提供了丰富的数字信号处理模块。Simulink Extra中的Additonal Sinks也提供了一些输出模块。,仿真结果分析,使用函数分析,使用函数对仿真结果进行分析,灵活方便,仿真实例,例:非线性控制系统如图所示:,饱和非线性模块的饱和上界和下界分别设置为2和-2;死区非线性模块的死区起止值分别设置为-0.1和0.1,常用的Source库信源,用来向模型提供信号.没有输入口,而至少有一个输出口.,Clock:(连续)仿真时钟,输出每个仿真步点的时刻.Constant:恒值输出,数值可设置From File:从文件读数据,从MAT文件获取信号矩阵,信号以行方式存放,第一行是时间,其余每行存放一个信号序列.From Workspace:从工作内存读矩阵数据,以列方式存放信号的信号矩阵T,U必须存在于MATLAB工作空间.Signal Generator:信号发生器,可产生正弦,方波,锯齿波,随机波.,常用的Source库信源,Sine:正弦波输出,可设置幅值,相位,频率.Step:阶跃输出,可设置阶跃时刻,阶跃前后的幅值.,常用的Source库信源,例:调用MATLAB工作空间中的信号矩阵作为模型输入.输入为,function TU=source1(T0,N0,K)t=linspace(0,K*T0,K*N0+1);N=length(t);U1=t(1:(N0+1).2;U2=(t(N0+2):(2*N0+1)-2*T0).2;,u3(1:(N-(2*N0+2)+1)=0;U=u1,u2,u3;TU=t,u,常用的Source库信源,例:调用MATLAB工作空间中的信号矩阵作为模型输入.输入为,(2)构造简单的接收信号用的实验模型:“From Workspace”,”Scope”并连接(3)模块的参数设置:“From Workspace”中的data中填写TU(4)在命令窗口运行:TU=source1(1,100,4);(5)在模型窗口进行仿真.,常用的Sink库信宿,用来接收信号,显示信号.,Display:数值显示.Scope:示波器Stop:终止仿真,可接受向量输入,任何分量非零时,终止整个仿真.常与关系模块配用.To File:把数据保存为文件.To Workspace:把数据写成矩阵.XY Graph:显示X-Y图形,示波器,显示实时信号,示波器工具栏工具的使用;示波器纵坐标范围的手工设置;示波器横坐标的设置;把示波器数据送入MATLAB工作空间;多信号显示区设置;设置为游离示波器.,仿真(参数)的配置,Simulink模型本质上是一个计算机程序,它定义了描写被仿真系统的一组微分或差分方程.,解算器类别:变步长(Variable-step solver)定步长(Fixed-step solver)具体算法:ode45(四解龙格库塔法)ode23(改进欧拉法)ode113(变阶法,求解非刚性微分方程)ode15s(求解刚性微分方程),练 习,在Simulink下求解初始状态为0的二阶微分方程:,u(t)是单位阶跃函数.,改为构建模型(示波器模块向工作空间存放仿真数据;To workspace模块向工作空间存放仿真数据;或模型窗的I/O页设置向工作空间存放仿真数据)仿真操作,