第四章MATLAB教学讲解课件_第1页
第四章MATLAB教学讲解课件_第2页
第四章MATLAB教学讲解课件_第3页
第四章MATLAB教学讲解课件_第4页
第四章MATLAB教学讲解课件_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Matlab仿真技术主讲教师:郑海青石家庄铁道大学第四章Simulink的应用

4.1Simulink工作平台的启动4.2Simulink仿真原理4.3Simulink模块库

4.4Simulink在系统仿真中的应用4.5仿真算法与控制参数选择4.1Simulink工作平台的启动启动Simulink,通常有两种方法:(1)在MATLAB命令窗口中直接输入Simulink命令;(2)在MATLAB工具栏上单击Simulink按钮,如图4.1所示。这样就可打开了Simulink的SimulinkLibraryBrower(库模块浏览器),如图4.2所示。图4.14.1Simulink工作平台的启动图4.2库模块浏览器

4.1Simulink工作平台的启动在菜单栏中执行File/New/Model命令,就建立了一个名为untitled的模型窗口,如图4.3所示。在建立了空的模块窗口后,用户可以在此窗口中创建自己需要的Simulink模型。图4.3新建的空白模块窗口

第四章Simulink的应用

4.1Simulink工作平台的启动

4.2Simulink仿真原理

4.3Simulink模块库

4.4Simulink在系统仿真中的应用4.5仿真算法与控制参数选择4.2

Simulink的仿真原理4.2.1Simulink仿真模块通常,Simulink仿真系统包括输入(Input)、状态(states)和输出(Output)三个部分。·输入模块:即信号源模块,包括常数字信号源和用户自定义信号;·状态模块:即被模拟的系统模块,是系统建模的核心和主要部分;·输出模块:即信号显示模块,它能够以图形方式、文件格式进行显示。4.2

Simulink的仿真原理4.2.2Simulink仿真过程1.初始化阶段①对模型的参数进行估计,得到它们实际计算的值。②展开模型的各个层次;③按照更新的次序对模型进行排序;④确定那些显式化的信号属性,并检查每个模块是否能够接受连接它们输入端的信号;⑤确定所有非显式的信号采样时间模块的采样时间;⑥分配和初始化存储空间,以便存储每个模块的状态和当前值的输出。4.2

Simulink的仿真原理2.模型执行阶段模型仿真是通过数值积分来进行完成的,计算数值积分可以采用以下两步来进行:①按照秩序计算每个模块的积分;②根据当前输入和状态来决定状态的微分,得到微分矢量,然后把它返回给解法器,以计算下一个采样点的状态矢量。在每一个时间步中,Simulink依次解决下列问题:

·按照秩序更新模块的输出;

·按照秩序更新模块的状态;

·检查模块连续状态的不连续点;

·计算下一个仿真时间步的时间。4.2

Simulink的仿真原理Simulink进行动态仿真的主要流程:模型的创建仿真的配置启动仿真结果显示例:对正弦信号进行积分,将积分后的信号同正弦信号在示波器中显示出来。第四章Simulink的应用

4.1Simulink工作平台的启动

4.2Simulink仿真原理4.3Simulink模块库

4.4Simulink在系统仿真中的应用4.5仿真算法与控制参数选择4.3Simulink模块库在库模块浏览器中单击Simulink前面的“+”号,就能够看到Simulink的模块库。4.3.1连续模块库(Continuous)

在连续模块(Continuous)库中包括了常见的连续模块,这些模块如图所示。4.3Simulink模块库1.积分模块(Integrator):功能:对输入变量进行积分。说明:模块的输入可以是标量,也可以是矢量。2.微分模块(Derivative)功能:通过计算差分∆u/∆t近似计算输入变量的微分。3.线性状态空间模块(State-Space)功能:用于实现以下数学方程描述的系统:4.传递函数模块(TransferFcn)功能:用执行一个线性传递函数。4.3Simulink模块库5.零极点传递函数模块(Zero-Pole)功能:用于建立一个预先指定的零点、极点及增益表示的系统。6.存储器模块(Memory)功能:保持输出前一步的输入值。7.传输延迟模块(TransportDelay)功能:将输入延迟一段指定的时间。8.可变传输延迟模块(VariableTransportDelay)功能:用于将输入端的信号进行可变时间的延迟。4.3Simulink模块库微分方程的框图求解:常用模块:输入、输出端口(In1,out1)时钟模块Clock产生时间t,从而可搭建时变微分方程模型常用输入模块

sine:正弦信号

step:阶跃信号

constant:恒值信号4)积分器模块(Int)5)延迟模块(Transportdelay)得出输入信号在时刻的值,可用于延迟微分方程的建模与求解。4.3Simulink模块库6)增益模块(Gain,MatrixGain)信号的放大7)数学运算模块:对输入信号实现加减乘除等代数运算8)数学函数模块:对输入信号做模块指定的非线性运算,如三角函数运算、指数对数运算。9)信号向量化模块:用混路模块Mux可将若干路信号混成向量型信号,用Demux模块可将向量型信号解出单路的信号。4.3Simulink模块库例1.考虑如下Lorenz方程的求解问题:其中,,各个状态变量的初值为

试用Simulink搭建该模型,并得出仿真结果。法一:ode454.3Simulink模块库考虑如下延迟微分方程:试用Simulink搭建该微分方程模型,并得出其数值解。第一个方程:输入输出传递函数第二个方程:输入

输出传递函数

4.3Simulink模块库实验:试用Simulink搭建该微分方程模型,并得出其数值解。4.3Simulink模块库实验二:求解如下微分方程,并绘制相应曲线。4.3Simulink模块库4.3.2离散模块库(Discrete)

离散模块库(Discrete)主要用于建立离散采样的系统模型,包括的主要模块,如图所示。4.3Simulink模块库1.零阶保持器模块(Zero-Order-Hold)功能:实现指定采样速率的采样和保持功能。2.单位延迟模块(UnitDelay)功能:将输入信号延迟并保持一个采样间隔,相当于时间算子z-1。3.离散时间积分模块(DiscreteTimeIntegrator)功能:在构造完全离散的系统时,代替Integrator模块。使用的积分方法有:向前欧拉法、向后欧拉法、梯形法。4.离散状态空间模块(DiscreteStateSpace)功能:用于实现如下数学方程描述的系统:4.3Simulink模块库5.离散滤波器模块(DiscreteFilter)功能:用于实现无限脉冲响应(IIR)和有限脉冲响应(FIR)的数字滤波器。6.离散传递函数模块(DiscreteTransferFcn)功能:用于执行一个离散传递函数。7.离散零极点传递函数模块(DiscreteZero-Pole)功能:用于建立一个预先指定的零点、极点,并用延迟算子z表示的离散系统。8.一阶保持器模块(FirstOrderHold)功能:在一定时间间隔内保持一阶采样。4.3Simulink模块库4.3.3函数与表格模块库(Function&Table)

函数与表格模块库(Function&Table)主要实现各种一维、二维或者更高维函数的查表,另外用户还可以根据自己需要创建更复杂的函数。该模块库主要模块如图所示。4.3Simulink模块库1.一维查表模块(Look-UpTable)使用模块参数中定义的线性插值将输入映射到输出。可以指定定义查询表的输入值向量和输出值向量,模块将其输入与输出值向量中的的值进行比较产生输出。2.二维查表模块(Look-UpTable2-D)功能:使用模块参数中定义的线性插值将输入映射到输出。在Table参数域中定义可能的输出,在行和列参数域中定义与表的行和列对应的值,模块将其输入与行和列参数进行比较,产生其输出值。第一个输入被认为是行的值,第二个输入被认为是列的值。4.3Simulink模块库3.自定义函数模块(Fcn)功能:用于将输入信号进行指定的函数运算,最后计算出模块的输出值。说明:输入的数学表达式应符合C语言编程规范;不能完成矩阵运算。4.MATLAB函数模块(MATLABFcn)功能:对输入信号进行MATLAB函数及表达式的处理。注意:从运算速度角度,Matlabfunction模块要比Fcn模块慢。5.S-函数模块(S-Function)功能:该模块提供从方框图中访问S函数的方法。4.3Simulink模块库4.3.4数学模块库(Math)数学模块库(Math)包括多个数学运算模块,如图所示。4.3Simulink模块库1.求和模块(Sum)功能:用于对多路输入信号进行求和运算,并输出结果。2.乘法模块(Product)功能:该模块对其输入进行乘或除运算,具体乘除取决于Multiplication和Numberofinputs参数的值。3.矢量的点乘模块(DotProduct)功能:产生两个输入向量的点乘,标量输出y等于4.增益模块(Gain)功能:增益模块(Gain)的作用是把输入信号乘以一个指定的增益因子,使输入产生增益。4.3Simulink模块库5.常用数学函数模块(MathFunction)功能:用于执行多个常用数学函数,其中包含exp、log、log10、square、sqrt、pow、reciprocal、hypot、rem、mod等。6.三角函数模块(TrigonometricFunction)功能:用于对输入信号进行三角函数运算,共有10种三角函数供选择。7.特殊数学模块特殊数学模块中包括求最大最小值模块(MinMax)、取绝对值模块(Abs)、符号函数模块(Sign)、取整数函数模块(RoundingFunction)等。4.3Simulink模块库8.数字逻辑函数模块数字逻辑函数模块包括复合逻辑模块(CombinationalLogic)、逻辑运算符模块(LogicalOperator)、位逻辑运算符模块(BitwiseLogicalOperator)等。9.关系运算模块(RelationalOperator)

关系符号包括:==、≠、<、<=、>、>=等。10.复数运算模块复数运算模块包括计算复数的模与幅角(ComplextoMagnitude-Angle)、由模和幅角计算复数(Magnitude-AngletoComplex)、提取复数实部与虚部模块(ComplextoRealandImage)、由复数实部和虚部计算复数(RealandImagetoComplex)。4.3Simulink模块库4.3.5非线性模块(Nonlinear)非线性模块(Nonlinear)中包括一些常用的非线性模块,如图所示。4.3Simulink模块库1.比率限幅模块(RateLimiter)功能:用于限制输入信号的一阶导数,使得信号的变化率不超过规定的限制值。2.饱和度模块(Saturation)功能:对信号设置上下边界。当输入信号在由下限和上限参数指定的范围内时,输入信号毫无改变的通过。当输入信号在边界之外时,信号被减去上边界值或下边界值。3.量化模块(Quantizer)功能:用于把输入信号由平滑状态变成台阶状态。4.死区输出模块(DeadZone)功能:在指定的区域内产生0输出。4.3Simulink模块库5.继电模块(Relay)功能:允许输出在两个给定的值之间切换。6.选择开关模块(Switch)功能:根据设置的门限来确定系统的输出。4.3Simulink模块库4.3.6信号与系统模块库(signals&Systems)信号与系统模块库(signals&Systems)包括的主要模块如图所示。4.3Simulink模块库1.Bus信号选择模块(BusSelector)功能:从一个Mux模块或另外一个BusSelector模块接受信号。2.混路器模块(Mux)功能:把多路信号组成一个矢量信号或者Bus信号。3.分路器模块(Demux)功能:把混路器组成的信号按照原来的构成方法分解成多路信号。4.信号合成模块(Merge)功能:该模块将其输入连线合并为单个的输出线,其任何时刻的输出值与其驱动模块的最近计算输出相等。4.3Simulink模块库5.接收/传输信号模块(From/Goto)功能:接收/传输信号模块(From/Goto)常常配合使用,From模块用于从一个Goto模块中接收一个输入信号,Goto模块用于把输入信号传递给From模块。6.初始值设定模块(IC)功能:设置与它的输出端口相连的信号的初始状态。4.3Simulink模块库4.3.7信号输出模块(Sinks)信号输出模块(Sinks)包括的主要模块如图所示。4.3Simulink模块库1.示波器模块(Scope)功能:显示在仿真过程中产生的输出信号,用于在示波器中显示输入信号与仿真时间的关系曲线,仿真时间为x轴。2.二维信号显示模块(XYGraph)功能:在MATLAB的图形窗口中显示一个二维信号图,并将两路信号分别作为示波器坐标的x轴与y轴,同时把它们之间的关系图形显示出来。3.显示模块(Display)功能:按照一定的格式显示输入信号的值。可供选择的输出格式包括:short、long、short_e、long_e、bank等。4.3Simulink模块库4.输出到文件模块(ToFile)功能:该模块将输出写到MAT数据文件中的矩阵中。5.输出到工作空间模块(ToWorkspace)功能:把信号保存到MATLAB的当前工作空间,是另一种输出方式。6.终止信号模块(Terminator)功能:中断一个未连接的信号输出端口。7.结束仿真模块(Stopsimulation)功能:停止仿真过程。当输入为非零时,停止系统仿真。4.3Simulink模块库4.3.8信号源模块库(Sources)信号源模块库(Sources)包括的主要模块如图所示。4.3Simulink模块库1.输入常数模块(Constant)功能:产生一个常数。该常数可以是实数,也可以是复数。2.信号源发生器模块(SignalGenerator)功能:产生不同的信号,其中包括:正弦波、方波、锯齿波信号。3.从文件读取信号模块(FromFile)功能:从指定的数据文件中读取数据,模块图标上会自动显示文件的路径。数据文件至少有两行,第一行为单调递增的时间,其他行为对应的输入数据。4.从工作空间读取信号模块(FromWorkspace)功能:从MATLAB工作空间读取信号作为当前的输入信号。4.3Simulink模块库5.随机数模块(RandomNumber)功能:产生正态分布的随机数。6.带宽限制白噪声模块(BandLimitedWhiteNoise)功能:产生正态分布的随机数,与RandomNumber的区别在于前者以一给定的采样频率产生输出,而该模块的采样频率与噪声的相关时间有关。7.其它模块各模块功能可通过以下方法查看:先进入Simulink工作窗口,在菜单中执行Help/SimulinkHelp命令,这时就会弹出Help界面。第四章Simulink的应用

4.1Simulink工作平台的启动

4.2Simulink仿真原理4.3Simulink模块库

4.4Simulink在系统仿真中的应用4.5仿真算法与控制参数选择4.4Simulink在系统仿真中的应用例:考虑图中给出的典型非线性反馈系统框图,其中控制器为PI控制器,其模型为饱和非线性中的死区非线性的死区宽度为。阶跃4.3Simulink在系统仿真中的应用步骤:打开模型编辑窗口复制相关模块修改模块参数模块连接系统仿真研究第四章Simulink的应用

4.1Simulink工作平台的启动

4.2Simulink仿真原理4.3Simulink模块库

4.4Simulink在系统仿真中的应用4.5仿真算法与控制参数选择4.5仿真算法与控制参数选择选中Simulink模型窗口的Simulation菜单项,其中ConfigurationParameters菜单项将打开如图所示的对话框,允许用户设置仿真控制参数。4.5仿真算法与控制参数选择Starttime和Stoptime分别允许用户填写仿真的起始时间和结束时间;Solveroptions的Type有两个选项,允许用户选择定步长和变步长算法。为了能保证仿真的精度,一般情况下建议选择变步长算法。其后面的列表框中列出了各种各样的算法,用户可以从中选择合适的算法进行仿真分析。仿真精度控制由RelativeTolerance(相对误差限)选项、AbsoluteTolerance(绝对误差限)等,对不同的算法还将有不同的控制参数,其中相对误差限的默认值设置为1e-3,该值在实际仿真中显得偏大,建议选择1e-6和1e-7。4.5仿真算法与控制参数选择4)在仿真时还可以选定最大允许的步长和最小允许的步长,这可以通过填写Maxstepsize和Minstepsize的值来实现,如果变步长选择的步长超过这个限制将弹出警告对话框。5)一些警告信息和警告级别的设置可以从其中的Diagnostics标签下的对话框来实现。仿真结束后,会自动生成一个向量tout存放各个仿真时刻的时间值,若使用了outport模块,则其输出信号会自动赋值给yout变量,用户就可以使用plot(tout,yout)这样的命令来绘制仿真结果了。4.5仿真算法与控制参数选择除用Simulation菜单启动系统仿真的进程外,还可以调用sim()函数进行仿真分析,该函数的调用格式为:[t,x,y]=sim(模型名,仿真终止时间)其中模型名即对应的Simulink文件名,后缀.mdl可以省略,函数调用后,返回的t为时间向量,x为状态矩阵,其各列为各个状态变量,返回变量y的各列为各个输出信号,亦即输出端子outport构成的矩阵。4.5仿真算法与控制参数选择例:非线性微分方程的框图求解:考虑如下Rossler方程:选定解:Matlab工作空间返回两个变量,tout和yout,tout表示各个仿真时刻,yout为一个三列的矩阵,分别对应于三个状态变量。作图:plot(tout,yout)%系统状态的时间响应曲线comet3(yout(:,1),yout(:,2),yout(:,3))%三维的相空间曲线4.5仿真算法与控制参数选择例:考虑下面的延迟微分方程假设,试用Simulink搭建仿真模型,并对该系统进行仿真,绘制出y(t)曲线。4.5仿真算法与控制参数选择

Simulink仿真注意与技巧1.Simulink仿真注意(1)Simulink的数据类型由于Simulink在仿真过程中,始终都要检查模型的类型安全性。模型的类型安全性是指从该模型产生的代码不出现上溢或者下溢现象,当产生溢出现象时,系统将出错误。查看模块的数据类型的方法是:在模型窗口的菜单中执行Format/PortDataTypes命令,这样每个模块支持的数据类型就显示出来了。要取消数据类型的查看方式,单击PortDataTypes去掉其前面的勾号即可。4.5仿真算法与控制参数选择(2)数据的传输在仿真过程中,S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论