第六章Simulink组件的基本使用方法Matlab基础与应用本章内容Simulink简介Simulink组件的基本构成Simulink模型的建立与仿真Simulink模型应用举例Matlab基础与应用Simulink简介Simulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。Matlab基础与应用Simulink组件的基本构成模型库浏览器(LibraryBrowser)在matlab的命令窗口中键入simulink,或者在matlab工具栏中单击simulink模块库按钮,就可以打开simulink库,如右图所示。Matlab基础与应用Simulink组件的基本构成信号源模块组(Sources)这一部分的模块包括各种常用的输入信号,其内容主要包括:Constant:常数模块,可以产生一个常数值,用作给定输入。SignalGenerator:信号发生器,可以产生正弦、方波、锯齿波及随意波。Step:阶跃波信号,可生成一个按给定的时间开始的阶跃信号,信号的初始值和终值都可以设定。Clock:时钟信号,输出仿真中的当前时间,以秒为单位。FromFile(.mat):来自数据文件,从文件读数的模块,可以从规定的数据文件中读取数据作为其他模块的输入值。Matlab基础与应用Simulink组件的基本构成FromWorkspace:来自MATLAB的工作空间,可以从工作空间中读取数据,数据源至少有两列,第一列为单调递增函数的时间,其他列为对应的数据。Ground:接地线模块,一般用于表示零输入模块,若一个模块的输入端子没有接任何模块,在simulink中仿真中经常给出错误,这个模块就是为了避免这种错误。PulseGenerator:脉冲发生器,产生脉冲信号的模块。SineWave:正弦波信号,产生正弦波的模块。RepeatingSequence:重复信号,产生不同规律重复信号的模块。Matlab基础与应用Simulink组件的基本构成连续模块组(Continuous)连续模块组内的模块主要用于对连续系统建模。Derivative:数值微分器模块,其作用是将输入端的信号经过一阶数值微分,在输出端输出。Transfer-Fcn:传递函数模块,使用分子分母多项式的形式给出传递函数。Integrator:积分器模块,对输入进行积分,可以设定初始条件。Matlab基础与应用Simulink组件的基本构成State-Space:线性状态空间模块,使用矩阵形式表示的系统模型,可以给出初值。Zero-Pole:零极点传递函数模块,用指定的零极点建立连续系统模型,输入可以是向量或者标量。TransportDelay:时间延迟模块,将输入延迟指定的时间后,在传输给输出信号。VariableTransportDelay:可变时间延迟模块。Matlab基础与应用Simulink组件的基本构成离散模块组(Discrete)UnitDelay:单位延迟模块,将输入信号做单位延时并保持一个采样周期,可以设置采样周期和初始值。Zero-OrderHold:零阶保持器,在一个计算步长内将输出的值保持在同一个值上。First-OrderHold:一阶保持器,依照一阶插值的方法计算下一个步长下的输出值。Discrete-timeIntegrator:离散时间积分器,实现离散的欧拉积分,可以设置初值和采样时间。DiscreteTransfer-Fcn:离散传递函数模型,与连续传递函数结构相同,可以设置采样时间。Matlab基础与应用Simulink组件的基本构成Memory:记忆模块,输出的是前一步的采样保持值。DiscreteState-Space:离散状态空间系统模型,与连续时间的状态空间模块相似。DiscreteFilter:离散滤波器模块,实现IIR与FIR滤波器。DiscreteZero-Pole:离散零极点模块,用指定的零极点建立离散系统模型。Matlab基础与应用Simulink组件的基本构成逻辑和位操作模块组(LogicandBitOperations)逻辑和位操作模块组内的模块主要用于对输入信号进行逻辑处理。BitClear:位清零模块,将存储数据指定的位清零。BitwiseOperator:位操作运算模块,对输入信号进行位操作。CombinationalLogic:组合逻辑模块,根据指定真值表对输入信号进行组合逻辑运算。ComparetoConstant:与常数比较模块,将输入信号与设定的常数进行组合逻辑运算。LogicalOperator:逻辑运算模块,对信号进行逻辑运算。RelationalOperator:关系运算模块,进行关系运算。Matlab基础与应用Simulink组件的基本构成数学运算模块组(MathOperations)数学运算模块组内的模块用于对输入信号进行数学操作。Abs:取绝对值,求取输入信号的绝对值。Real-ImagetoComplex:实部虚部合成复数,根据输入的实部和虚部构建复数信号。Gain:增益模块,输出为输入与增益的乘积。MathFunction:数学函数模块,对输入信号实现特定的数学函数运算。还有其他的一些数学运算模块,其功能是显而易见的,包括Sum:加减运算模块;Product:乘运算;DotProduct:点乘运算;TrigonometricFunction:三角函数;MinMax:最值运算;Sign:符号函数;Matlab基础与应用Simulink组件的基本构成输出池模块组(Sinks)Out1:输出端口模块,代表整个系统的输出端子。Scope:示波器,是显示数据结果的有效形式。XYGraph:XY示波器模块,显示二维图形。ToFile(.mat):将输出写入数据文件,该模块把它的输入值保存到mat文件中。ToWorkspace:将输出写入MATLAB的工作空间StopSimulation:仿真终止模块,终止正在进行的仿真模块。Terminator:信号终结模块。Matlab基础与应用Simulink组件的基本构成信号路线发送模块组(SignalRouting)Mux:混路器模块,将多路信号依照向量的形式混合成一路信号。Demux:分路器模块,将混路器组成的信号分解为多路信号。Selector:选路器模块,可从多路信号中按希望输出所需的信号。Switch:开关模块,由开关量的值选择由哪路输入信号直接产生输出信号。其他模块Simulink中还有很多实现其他功能的模块,包括断续模块组、查表模块组、模型校验模块组等。Matlab基础与应用Simulink模型的建立与仿真模型窗口的建立和保存模块的有关操作模块大小调整模块旋转模块连接模块标签的改变增加阴影模块参数修正联机帮助系统模块输出与打印模型仿真Matlab基础与应用Simulink模型的建立与仿真仿真参数设置在模型窗口选择菜单“Simulation”“Configurationparameters…”解算器(Solver)的设置(1)仿真时间设置(Simulationtime)仿真的起始时间(Starttime)仿真的结束时间(Stoptime)(2)解法设置(Solveroptions)仿真的过程一般是求解微分方程组,“Solveoptions”的内容是针对解微分方程组的设置。(3)输出模式Outputoptions变步长时可进行设置,可以达到不同的输出效果。Matlab基础与应用Simulink模型仿真举例例1:二阶阻尼系统考虑图中的阻尼二阶系统,设阻尼系数,弹簧弹性系数为,小车质量。系统无输入,初始位置距平衡点。试模拟小车的运动。1.0c2k5mkg1.0m状态空间方法Matlab基础与应用Simulink模型仿真举例分析:要模拟此系统,先要写出其运动方程。设小车的位移为,小车受到的力为:弹性力和阻力。那么小车的运动方程:代入数据得到xkxcx0mxcxkx0.20.4,(0)1,(0)0xxxxxMatlab基础与应用Simulink模型仿真举例在simulink中建立仿真模型如下Matlab基础与应用Simulink模型仿真举例仿真结果Matlab基础与应用Simulink模型仿真举例仿真结果05101520253035404550-0.6-0.4-0.200.20.40.60.81Matlab基础与应用Simulink模型仿真举例1xy2xy1222121(1)xxxxxxMatlab基础与应用Simulink模型仿真举例系统模型:Matlab基础与应用Simulink模型仿真举例仿真结果02468101214161820-4-2024-2.5-2-1.5-1-0.500.511.522.5-4-2024data1data2Matlab基础与应用Simulink模型仿真举例带有磁滞回线的非线性环节控制系统框图如下所示,其中磁滞宽度通过simulink建立模型11c直接利用传递函数方法Matlab基础与应用Simulink模型仿真举例仿真结果Matlab基础与应用Simulink模型仿真举例分期还款问题设每个月月末贷款余额为月初余额与月利息的和,再减去月末的还款额。于是第月月末的余额:其中,为月利息。假设初始贷款余额为15000元,利率为1%,每月偿还200元,试计算100次偿还后的贷款余额。根据题目要求建立模型,进行仿真。模型及仿真结果见下图。()bk()pkk()(1)()bkrbkpk1rII离散系统Matlab基础与应用Simulink模型仿真举例仿真结果Matlab基础与应用谢谢!