SIMULINK仿真基础SIMULINK入门基本建模方法参数选择及运行解微分方程SIMULINK是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来就可以构成所需要的系统模型(以.mdl文件进行存取),进而进行仿真与分析。SIMULINK入门SIMULINK入门MATLAB命令窗口运行指令:simulinkSIMULINK模块库浏览器:SimulinkLibraryBrowser建立一个简单的仿真系统模块库基本建模方法——一个简单的仿真系统点击“新建”,建立新模型tst1用鼠标在信源模块中选取sinewave,拖曳至tst1窗口用鼠标在信宿模块中选取scope,拖曳至tst1窗口连线启动仿真模块的基本操作模块的选定选定单个和选定多个模块的复制复制/粘贴Ctrl键模块名操作点击模块名模块的样式Format菜单简单建模:波形显示向量显示Mux标量扩展在MATLAB命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library:simulink3的Simulink模块库窗口。两种模块库窗口界面只是不同的显示形式,用户可以根据各人喜好进行选用,一般说来第二种窗口直观、形象,易于初学者,但使用时会打开太多的子窗口。Simulink模块库SIMULINK模块库SIMILINK模块库按功能进行分为以下8类子库:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和表格模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(输出模块)Sources(输入源模块)数学模块(Math)Sum求和模块:加减运算Product乘法模块:乘运算DotProduct矢量的点乘模块:点乘运算Gain增益模块:比例运算MathFunction常用数学函数模块:包括指数函数、对数函数、求平方、开根号等常用数学函数TrigonometricFunction三角函数模块:三角函数,包括正弦、余弦、正切等MinMax最值模块:最大最小值运算Abs绝对值模块:取绝对值Sign符号函数模块:符号函数LogicalOperator逻辑运算符模块:逻辑运算RelationalOperator关系运算模块:关系运算复数运算模块ComplextoMagnitude-Angle:由复数输入转为幅值和相角输出Magnitude-AngletoComplex:由幅值和相角输入合成复数输出ComplextoReal-Imag:由复数输入转为实部和虚部输出Real-ImagtoComplex:由实部和虚部输入合成复数输出数学模块(Math)输入源模块(Sources)Constant:常数信号。Clock:时钟信号。FromWorkspace:来自MATLAB的工作空间。FromFile(.mat):来自数据文件。PulseGenerator:脉冲发生器。RepeatingSequence:重复信号。SignalGenerator:信号发生器,可以产生正弦、方波、锯齿波及随意波。SineWave:正弦波信号。Step:阶跃波信号。(搭建matlab与simulink的互换)输出模块(Sinks)Scope示波器模块:显示产生的输出信号XYGraph二维信号显示模块:两路信号分别作为示波器坐标的x轴与y轴,显示二维图形。ToWorkspace输出到工作空间模块:将输出写入MATLAB的工作空间。ToFile(.mat)输出到文件模块:将输出写入数据文件Display显示模块:按照一定的格式显示输入信号的值Terminator终止信号模块Stopsimulation结束仿真模块连续模块库(Continuous)Integrator积分模块:输入信号积分Derivative微分模块:输入信号微分State-Space线性状态空间模块:线性状态空间系统模型Transfer-Fcn传递函数模块:线性传递函数模型Zero-Pole零极点传递函数模块:以零极点表示的传递函数模型Memory存储器模块:存储上一时刻的状态值TransportDelay传输延迟模块:输入信号延时一个固定时间再输出VariableTransportDelay可变传输延迟模块:输入信号延时一个可变时间再输出离散模块(Discrete)Zero-OrderHold零阶保持器模块:零阶采样和保持UnitDelay单位延迟模块:一个采样周期的延时Discrete-timeIntegrator离散时间积分模块:离散时间积分器DiscreteFilter离散滤波器模块:无限脉冲响应(IIR)和有限脉冲响应(FIR)的数字滤波器DiscreteState-Space离散状态空间模块:离散状态空间系统模型DiscreteTransfer-Fcn离散传递函数模块:离散传递函数模型DiscreteZero-Pole离散零极点传递函数模块:以零极点表示的离散传递函数模型First-OrderHold一阶保持器模块:一阶采样和保持函数与表格模块库(Function&Tables)Fcn自定义函数模块:用自定义的函数(表达式)进行运算MATLABFcnMATLAB函数模块:利用matlab的现有函数进行运算S-FunctionS-函数模块:调用自编的S函数的程序进行运算Look-UpTable一维查表模块:建立输入信号的查询表(线性峰值匹配)Look-UpTable(2-D)二维查表模块:建立两个输入信号的查询表(线性峰值匹配)非线性模块(Nonlinear)Saturation饱和度模块:饱和输出,让输出超过某一值时能够饱和。Relay继电模块:滞环比较器,限制输出值在某一范围内变化。Switch选择开关模块:根据设置的门限来确定系统的输出ManualSwitch手动选择开关模块RateLimiter比率限幅模块:限制输入信号DeadZone死区输出模块:在规定的区内没有输出值Quantizer量化模块:把输入信号由平滑状态变成台阶状态信号和系统模块Signal&SystemsIn1:输入端。Out1:输出端。Mux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。Ground:连接到没有连接到的输入端。Terminator:连接到没有连接到的输出端。SubSystem:建立新的封装(Mask)功能模块其它应用模块集和Simulink扩展库通信模块集(CommunicationsBlockset)数字信号处理模块集(DSPBlockset)电力系统模块集(PowerSystemBlockset)Simulink扩展库扩展信号输出模块库(AdditionalSinks)扩展离散库(AdditionalDiscrete)扩展线性库(AdditionalLinear)转换库(Transformations)触发模块库(FlipFlops)线性化库(Linearization)宇航模块库(AirspaceBlocks)SIMULINK模型外表:直观的方框图文件:MDL文件数学:微分方程或差分方程行为:模拟物理过程的动态性状方法:在所建立的模型窗口中,选中相应的模块,单击右击鼠标,在弹出的快捷菜单中单击“Blockparameters”选项,即可打开该模块的参数设置对话框,。右击鼠标,在弹出的快捷菜单中单击“BlockProperties”选项,即可打开该模块的属性设置对话框。SIMULINK仿真——模块参数与属性的设置一般情况,每个模块都有一个或者多个输入口或者输出口。输入口通常是模块的左边的“”符号;输出口是右边的“”符号。模块的连接方法:信号线就变成了带有方向箭头的线段,说明这两个模块的连接成功,否则需要重新进行连接。SIMULINK仿真——模块的连接线的折弯:按住Shift键,再用鼠标在要折弯的线处单击一下就会出现圆圈,表示折点,利用折点就可以改变线的形状。线的分支:按住鼠标右键,在需要分支的地方拉出即可以。或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。SIMULINK仿真——仿真参数的设置选择菜单选项[SimulationConfigurationParameters],将显示仿真参数对话框。1.设置仿真时间仿真时间决定了模型仿真的时间或取值区域,其设置完全根据待仿真系统的特性确定,反映在输出显示上就是示波器的横轴坐标值的取值范围。“Starttime”和“Stoptime”项分别用以设置仿真开始时间(或取值区域下限)和终止时间(或取值区域上限),默认值分别为0.0和10.02.选择仿真算法仿真算法是求常微分方程、传递函数、状态方程解的数值计算方法,主要有欧拉法(Eular)、阿达姆斯法(Adams)和龙格-库塔法(Runge-Kutta)。由于动态系统的差异性,使得某种算法对某类问题比较有效,而另外算法对另一类问题更有效。因此,对不同的问题,可以选择不同的适应算法和相应的参数,以得到更准确、快速的解。加注释simulink模型的一般性结构信源系统信宿例1数值分析:积分模块的应用55.0505.050ttdtttdttxtt积分模块应用:复位积分负变正时强迫清零微分方程)(2.04.02.0txyyy)()(tutx构造微分方程求解模型显示图形如下:解法2:用SIMULINK练习新建一个SIMULINK的模型文件,试建立并调试一个模型,实现在一个示波器中同时观察正弦波信号和方波信号。已知摄氏温度和华氏温度之间的转换关系如下:试利用SIMULINK建模并仿真该式输入量和输出量间的关系。某一直流RC电路结构及参数如图所示,将电容电压的暂态过程作为研究对象,求解当开关闭合后电容电压和线路电流的变化规律。32)5/9(CFTT解:(1)选择SIMULINK模块库浏览器工具栏中的图标,打开一个新的SIMULINK仿真平台窗口。(2)从SimPowerSystems模块库和SIMULINK模块库中选择并添加相应的模块到SIMULINK仿真平台窗口,并进行适当的排列,如图所示。DCVoltageSource模块来自电力系统模块库的ElectricalSources子库Breaker模块来自电力系统模块库的Elements子库SeriesRLCBranch模块来自电力系统模块库的Elements子库SeriesRLCBranch1模块来自电力系统模块库的Elements子库3个Ground模块来自电力系统模块库的Elements子库,用以模拟接地VoltageMeasurement模块来自电力系统模块库的Measurement子库CurrentMeasurement模块来自电力系统模块库的Measurement子库(3)设置DCVoltageSource模块参数;设置Breaker模块参数;设置SeriesRLCBranch模块参数;设置SeriesRLCBranch1模块参数;设置Scope模块参数。(4)单击鼠标选中SeriesRLCBranch1模块,选择SIMULINK仿真平台窗口[FormatRotateBlock]菜单,将SeriesRLCBranch1模块方向进行调整,使之由横向放置变为竖向放置,便于连接。(5)修改各模块标签。由于各模块的默认标签具有