您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 第七章Simulink基础
第七章Simulink基础主要内容7.1Simulink简介7.2Simulink的基本操作7.3系统仿真及参数设置7.4Simulink模块库7.5Simulink子系统7.1Simulink简介Simulink:用来对动态系统进行建模、仿真和分析的软件包,支持连续、离散及两者混合的线性和非线性系统,也支持具有多种采样频率的系统。在Simulink环境中,利用鼠标就可以在模型窗口中直观地“画”出系统模型,然后直接进行仿真。它为用户提供了方框图进行建模的图形接口,采用这种结构画模型就像你用手和纸来画一样容易。它与传统的仿真软件包微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。SimulinkSinks(输出方式)Source(输入源)Linear(线性环节)Nonlinear(非线性环节)Connections(连接与接口)Extra(其他环节)7.1Simulink简介采用Scope模块和其他的画图模块,在仿真进行的同时,就可观看到仿真结果。除此之外,用户还可以在改变参数后来迅速观看系统中发生的变化情况。仿真的结果还可以存放到MATLAB的工作空间里做事后处理。用Simulink创建的模型可以具有递阶结构,因此用户可以采用从上到下或从下到上的结构创建模型。用户可以从最高级开始观看模型,然后用鼠标双击其中的子系统模块,来查看其下一级的内容,以此类推,从而可以看到整个模型的细节,帮助用户理解模型的结构和各模块之间的相互关系。在定义完一个模型后,用户可以通过Simulink的菜单或MATLAB的命令窗口键入命令来对它进行仿真。菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真非常有用。7.1Simulink简介Simulink非常实用,应用领域很广,可使用的领域包括航空航天、电子、力学、数学、通信、影视和控制等。世界各地的工程师都在利用它来对实际问题建模,解决问题。模型分析工具包括线性化和平衡点分析工具、MATLAB的许多工具及MATLAB的应用工具箱。由于MATLAB和Simulink的集成在一起的,因此用户可以在这两种环境下对自己的模型进行仿真、分析和修改。Simulink具有非常高的开放性,提倡将模型通过框图表示出来,或者将已有的模型添加组合到一起,或者将自己创建的模块添加到模型当中。Simulink具有较高的交互性,允许随意修改模块参数,并且可以直接无缝地使用MATLAB的所有分析工具。对最后得到的结果可进行分析,并能够将结果可视化显示。7.2Simulink的基本操作一、Simulink的运行运行Simulink有三种方式:在MATLAB的命令窗口直接键入“Simulink”并回车;单击MATLAB工具条上的Simulink图标;在MATLAB菜单上选File→New→Model二、常用的标准模块附录C以表格的形式给出Simulink几个基本模块库中的模块功能简介,表格中的模块名和模块库中的模块图标下的名称一致。7.2Simulink的基本操作三、模块的操作模块的选取模块的复制、剪切、删除、移动模块的连接模块参数的设置例7.2.1已知单位负反馈二阶系统的开环传递函数为sssG47.410)(2试绘制单位阶跃响应的实验结构图。10s+4.47s2TransferFcnStepScope7.2Simulink的基本操作模块的外形的调整改变模块的大小调整模块的方向给模块加阴影模块名的处理模块名的显示与消隐修改模块名例7.2.2将例7.2.1的结构图进行模块处理。相加器示波器单位阶跃信号10s+4.47s2传递函数7.3系统仿真及参数设置在Simulink中建立起系统模型框图后,运行菜单【Simulation】|【Start】就可以用Simulink对模型进行动态仿真。一般在仿真运行前需要对仿真参数进行设置,运行菜单【Simulation】|【Parameters】完成设置。7.3系统仿真及参数设置一、算法设置在Solver里需要设置仿真起始和终止时间、选择合适的解法(Solver)并指定参数、设置一些输出选择。1、设置起始时间和终止时间(Simulationtime)【Simulation】|【Starttime】设置起始时间,而【Stoptime】设置终止时间,单位为“秒”。2、算法设置(Solveroption)(1)算法类型设置仿真的主要过程一般是求解常微分方程组,【Solveroption】|【Type】用来选择仿真算法的类型是变化的还是固定的。7.3系统仿真及参数设置变步长解法可以在仿真过程中根据要求调整运算步长,在采用变步长解法时,应该先指定一个容许误差限(【Relativetolerance】或【Absolutetolerance】),使得当误差超过误差限时自动修正仿真步长,【Maxstepsize】用于设置最大步长,在缺省情况下为“auto”,并按下式计算最大步长:最大步长=(终止时间-起始时间)/50(2)仿真算法设置离散模型:对变步长和定步长解法均采用discrete(nocontinuousstate)。连续模型:有变步长和定步长两种解法。变步长解法有:ode45、ode23、ode113、ode15s、ode23s、ode23t,ode23st3、设置输出选项7.3系统仿真及参数设置二、工作空间设置工作空间设置(WorkspaceI/O)窗口可以设置Simulink和当前工作空间的数据输入、输出。通过设置,可以从工作空间输入数据、初始化状态模块,也可以把仿真结果、状态变量、时间数据保存到当前工作空间。从工作空间读入数据(Loadfromworkspace)保存数据到工作空间(Savetoworkspace)初始化状态模块7.4Simulink模块库一、信号源模块库Model&SubsystemInputsSignalGeneratorsUniformRandomNumberStepSineWaveSignal1SignalBuilderSignalGeneratorRepeatingSequenceStairRepeatingSequenceInterpolatedRepeatingSequenceRandomNumberRampPulseGeneratorGrounduntitled.matFromFilesiminFromWorkspace12:34DigitalClocklimCounterLimitedCounterFree-Running1ConstantClockChirpSignalBand-LimitedWhiteNoise1In17.4Simulink模块库二、连续系统模块库Continuous-TimeLinearSystemsContinuous-TimeDelays(s-1)s(s+1)Zero-PoleTiVariableTransportDelayToVariableTimeDelayTransportDelay1s+1TransferFcnx'=Ax+Buy=Cx+DuState-Space1sIntegratordu/dtDerivative7.4Simulink模块库三、离散系统模块库Sample&HoldDelaysDiscrete-TimeLinearSystemsZero-OrderHoldWeightedMovingAveragez1UnitDelayz-0.75zTransferFcnRealZeroz-0.75z-0.95TransferFcnLeadorLag0.05zz-0.95TransferFcnFirstOrder4DelaysTappedDelayMemory-4ZIntegerDelayFirst-OrderHoldKTsz-1Discrete-TimeIntegratory(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)DiscreteState-Space11+0.5z-1DiscreteFilterK(z-1)TszDiscreteDerivative(z-1)z(z-0.5)DiscreteZero-Pole1z+0.5DiscreteTransferFcnz-1zDifference7.4Simulink模块库四、数学运算模块库Vector/MatrixOperationsMathOperationsComplexVectorConversionsu+TsWeightedSampleTimeMath-uUnaryMinussinTrigonometricFunctionSumofElementsSumSubtract1SliderGaintSineWaveFunctionSignfloorRoundingFunctionU(:)ReshapeReImReal-ImagtoComplexProductofElementsProductP(u)O(P)=5PolynomialuRymin(u,y)MinMaxRunningResettableminMinMaxHorizCatMatrixConcatenationeuMathFunction|.|Magnitude-AngletoComplex1GainDotProductDivideRe(u)Im(u)ComplextoReal-Imag|u|uComplextoMagnitude-Angleu+0.0BiasU1-YU2-Y(E)YAssignmentf(z)zSolvef(z)=0AlgebraicConstraintAdd|u|Abs7.4Simulink模块库五、输出模块库Model&SubsystemOutputsSimulationControlDataViewers1Out1XYGraphsimoutToWorkspaceuntitled.matToFileTerminatorSTOPStopSimulationScopeFloatingScope0Display7.4Simulink模块库六、非线性系统模块库DiscontinuitiesWrapToZeroupuloySaturationDynamicSaturationRelayupuloRateLimiterDynamicRateLimiterQuantizerHitCrossingupuloyDeadZoneDynamicDeadZoneCoulomb&ViscousFrictionBacklash7.5Simulink子系统一、Simulink子系统简介Simulink提供的子系统功能可以大大地增强Simulink系统框图的可读性,可以不必了解系统中每个模块的功能就能够了解整个系统得框架。子系统可以理解为一种“容器”,我们可以将一组相关的模块封装到这个子系统模块当中,并且等效于原系统模块群的功能,而对其中的模块我们可以暂时不去了解。组合后的子系统可以进行类似模块的设置,在模型的仿真过程中可作为一个模块。建立子系统的有以下两种方法:7.5Simulink子系统1、在已有的系统模型中建立子系统7.5Simulink子系统框选区域,然后右击,弹出浮动菜单,选择【CreatSubsystem】7.5Simulink子系统创建子系统,然后双击Subsystem模块。7.5Simulink子系统简单建立模型,双击Subsystem模块,在弹出的窗口中建立子系统模型。2、在已有的系统模型中新建子系统7.5Simulink子系统这两种创建子系统最后实现的是一模一样的功能,只不过操作顺序不同。前者是先将这个结构搭建起来,然后将相关的模块封装起来;后者则是先做一个封装容器,然后在封装容器中添加模块。对于一个相对简单的模型我们采用第一种,这种操作一般不会出错,能够顺利搭建模型。而对于非常复杂的系统,我们事先将模型分成若干个子系统,然后再采用第二种方法进行建模。1、子系统命名:命名方法与模块命名方法类似,是拥有
本文标题:第七章Simulink基础
链接地址:https://www.777doc.com/doc-4833729 .html