基于MATLABSimulink的建模与仿真.ppt

上传人:小飞机 文档编号:5951732 上传时间:2023-09-07 格式:PPT 页数:100 大小:5.45MB
返回 下载 相关 举报
基于MATLABSimulink的建模与仿真.ppt_第1页
第1页 / 共100页
基于MATLABSimulink的建模与仿真.ppt_第2页
第2页 / 共100页
基于MATLABSimulink的建模与仿真.ppt_第3页
第3页 / 共100页
基于MATLABSimulink的建模与仿真.ppt_第4页
第4页 / 共100页
基于MATLABSimulink的建模与仿真.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《基于MATLABSimulink的建模与仿真.ppt》由会员分享,可在线阅读,更多相关《基于MATLABSimulink的建模与仿真.ppt(100页珍藏版)》请在三一办公上搜索。

1、计算机仿真技术,第五讲 基于MATLAB/Simulink的建模与仿真,MATLAB软件简介 MATLAB仿真实例 什么是Simulink?Simulink模块库简介 Simulink模型的建立方法 Simulink建模与仿真举例 小结,MATLAB软件简介?,MATLAB是一门计算机编程语言,是一种科学计算软件,取名来源于Matrix Laboratory,本意是专门以矩阵的方式来处理计算机数据.MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,被广泛应用在科学计算,信息处理,控制系统等领域的分析,仿真和设计工作。,MATLAB的功能包括:数值分析,数值和符号计算,工

2、程和科学绘图,通讯和控制系统的设计与仿真,数字图像与信号处理,财务与金融工程等。,MATLAB软件简介?,MATLAB软件的典型应用领域:科学研究;工程技术应用研究CAI(Computer Aided Instruct)数学实验(Mathematical Experiment)数学建模(Mathematical Modeling),clear删除工作空间中的所有变量!系统不会要求你确认这个命令。所有变量都被清除且不能再恢复。对于简单的问题,在MATLAB提示符下输入命令是快速有效的。然而当命令数增加或希望改变一个或几个变量的值,然后重新执行一系列命令时,在MATLAB提示符处键入命令就非常麻烦

3、了。对这个问题MATLAB提供了一种逻辑解决方案。它允许用户把MATLAB命令放在一个简单的文本文件中,然后告诉MATLAB打开文件并执行命令,如同在MATLAB提示符处键入命令一样。这些文件被称为脚本文件或简单地称为M文件。M文件是指脚本文件以扩展名.m结尾。,MATLAB软件简介?,MATLAB提供三种控制流结构的语句:For-end循环While-end循环If-Else-End结构,MATLAB软件简介?,For-end循环的基本作用是以固定的和预定的次数重复一组特定的命令。一般形式是:for n=循环控制量的范围commandsend,MATLAB软件简介?,说明:在for和end语

4、句之间的命令串commands按矩阵(array)中的每一列执行一次。在每一次迭代中,n被指定为循环控制量的范围内的下一列。例如:for n=1:10 x(n)=sin(n*pi/10);end这个循环体的作用是:对n等于1到10,求所有语句的值,直到下一个end语句。第1次通过For循环n=1,第2次,n=2,如此继续,直到n=10。在n=10以后,For循环结束,然后求end语句后面的任何命令值,For循环不能用For循环内重新赋值循环变量n来终止。在For循环中循环控制量的范围可以是任何有效的MATLAB矩阵。比如data=11 9 45 6;7 16-1 5;for n=data x=

5、n(1)-n(2)end这时程序的输出有四个数值,分别是矩阵data的两列相减的结果x=4 x=-7x=46 x=1,For循环可按需要嵌套,即For循环体内的命令组中可以出现另一个For循环体,这体现了For循环体也是命令组。比如for n=1:5 for m=5:-1:1 A(n,m)=n2+m2;Endend,While-end循环以不定的次数求一组语句的值。Whil-end 循环的一般形式是:while expression(控制表达式)commandsend只要在控制表达式(expression)里的所有元素为真,就执行While和end语句之间的命令串(commands)。,MAT

6、LAB软件简介?,说明:控制表达式的值未必是一个标量值,矩阵值也同样有效。在矩阵情况下,所得到矩阵的所有元素必须都为真。具体示例:num=0;EPS=1;while(1+EPS)1EPS=EPS/2;num=num+1;end这段MATLAB代码最后在num=53时停止。,IF-ELSE-END结构提供有条件地执行一些特定的命令序列的方式。最简单的IF-ELSE-END结构是:if expression(条件控制表达式)commandsend如果在条件控制表达式(expression)中的所有元素为真(非零),那么就执行if和end语句之间的命令串(commands)。在表达式包含有几个逻辑表

7、达式时,即使前一个表达式决定了表达式的最后逻辑状态,仍要计算所有的子表达式。,MATLAB软件简介?,一般的有两个选择的IF-ELSE-END结构是:if expression(条件控制表达式)commands evaluated if Trueelsecommands evaluated if Trueend在这里,如果条件控制表达式(expression)为真,则执行第1组命令;如果表达式是假,则执行第2组命令。,有三个或更多选择时的IF-ELSE-END结构的形式:if expression1commands evaluated-if expression1 is Trueelseif

8、expression2commands evaluated-if expression2 is Trueelseif expression3commands evaluated-if expression3 is Trueelseif elsecommands evaluatedif on other expression is Trueend最后这种有三个以上选择的IF-ELSE-END形式,依次检查各表达式,只执行第一个表达式为真的命令串,接下来的关系表达式不检验,跳过其余的IF-ELSE-END结构。最后的else命令可有可无。,break是一种特殊的控制结构,基本作用是无条件跳出临近的

9、循环体,即结束For循环和While循环的执行。,MATLAB软件简介?,学习和使用常用软件MATLAB的一些基本语句和功能来验证或观察函数的变化,实现函数的可视化计算,MATLAB软件简介?,MATLAB仿真举例,设系统方程,,y(0)=1,试用Euler法求其数值解(取步长h=0.1,0t1),试编写matlab程序求其数值解。,设系统方程,,y(0)=1,试用Euler法求其数值解(取步长h=0.1,0t1),试编写matlab程序求其数值解。,Euler迭代公式:yn+1=yn-0.1yn2,MATLAB仿真举例,Euler迭代公式:yn+1=yn-0.1yn2,,y(0)=1,(取步

10、长h=0.1,0t1),MATLAB仿真举例,Euler迭代公式:yn+1=yn-0.1yn2,,y(0)=1,t=0:0.1:1;length=size(t,1);y=zeros(size(t);y(1)=1;for n=1:1:length-1y(n+1)=y(n)-0.1*y(n)2endplot(t,y),(取步长h=0.1,0t1),MATLAB仿真举例,运行结果:,y=1.0000 0.9000 0.8190 0.7519 0.6954 0.6470 0.6052 0.5685 0.5362 0.5075 0.4817,MATLAB仿真举例,作业,设系统方程,,y(0)=1,试用二

11、阶龙格库塔法求其数值解(取步长h=0.1,0t1),试编写matlab程序求其数值解。,二阶龙格库塔法迭代公式:,请在第二次实验时上机验证结果。,Simulink是MATLAB提供的实现动态系统建模和仿真的一个软件包,它让用户把精力从编程转向模型的构造。Simulink一个很大的优点是为用户省去了许多重复的代码编写工作。Simulink 支持线性,非线性系统,连续系统,离散系统,或者混合系统的建模与仿真。同时它也支持具有不同部分拥有不同采样率的多种采样速度的系统仿真。Simulink的启动方式有两种:(1)在工具栏点击Simulink图标;(2)在Command Window中输入:Simul

12、ink,什么是Simulink?,Simulink模块库简介,SIMILINK模块库按功能进行分类:连续模块、离散模块、查表模块、数学模块、非线性模块、信号通路模块、接收器模块、输入源模块、其他常用方块组及工具箱、特别模块。,Simulink模块库简介,Derivative:输入信号微分Integrator:积分器State-Space:线性状态空间系统 模型Transfer-Fcn:线性传递函数模型Zero-Pole:以零极点表示的传递 函数模型Memory:存储上一时刻的状态值Transport Delay:输入信号延时一个给定时间再输出Variable Transport Delay:输

13、入信号延时一个可变时间再输出,连续模块(Continuous),Zero-Order Hold:零阶采样保持器Unit Delay:一个采样周期的延时Discrete-time Integrator:离散时间积分器Discrete State-Space:离散状态空间系统模型Discrete Filter:离散滤波器Discrete Transfer-Fcn:离散传递函数模型Discrete Zero-Pole:以零极点表示的离散传递函数模型First-Order Hold:一阶采样保持器,离散模块(Discrete),Look-Up Table:建立输入信号的查询表(线性峰值匹配)Look-

14、Up Table(2-D):建立两个输入信号的查询表(线性峰值匹配)Fcn:用户自定义的函数(表达式)MATLAB Fcn:利用MATLAB的现有函数S-Function:调用自编的S函数的程序,Look-up Table(查表模块)User-defined function(用户定义函数模块),Sum:加减运算Product:模块输入的乘除运算Dot Product:点乘运算Gain:比例运算Math Function:包括指数函数、对数函数、求平方等常用数学函数Trigonometric Function:三角函数,包括正弦、余弦、正切等MinMax:最小值或最大值运算,Math oper

15、ations(数学模块),Abs:取绝对值Sign:给出符号函数Rounding Function 圆整函数Combinatorial Logic:建立真值表Logical Operator:逻辑运算Relational Operator:关系运算Complex to Magnitude-Angle:由复数输入转为幅值和相角输出Complex to Real-Imag:由复数输入转为实部和虚部输出Magnitude-Angle to Complex:由幅值和相角输入合成复数输出Real-Imag to Complex:由实部和虚部输入合成复数输出,Rate Limit:变化速率限制Satura

16、tion:饱和输出,让输出超过某一值时能够饱和。Quantizer:离散化Blacklash:滞环或间隙Dead Zone:死区Relay:滞环继电器Switch:切换开关Manual Switch:手动选择开关Coulomb&Viscous Friction 库仑和粘滞摩擦,Discontinuous(非线性模块),Mux:将多个单一输入转化为一个复合输出。Demux:将一个复合输入转化为多个单一输出。,Signal Routing(信号通路模块),Scope:示波器,显示信号曲线。XY Graph:显示二维X-Y图形。Out1:输出端口Display:显示数值To Workspace:将输

17、出写入MATLAB的工作空间。To File(.mat):将输出写入数据文件。Terminator:终止一个未连接的输出端口,Sinks(接收器模块),In1:输入端口Constant:常数信号Signal Generator:信号发生器,产生任意波形Ramp:斜坡信号Sine Wave:正弦波信号 Step:阶跃波信号Repeating Sequence:重复信号Pulse Generator:脉冲发生器Ground:搁置一个未连接的输入端口Clock:时钟信号From Workspace:来自MATLAB的工作空间。From File(.mat):来自数据文件。,Sources(输入源模块

18、),其他常用方块组及工具箱 Blocksets&Toolboxes,Simulink extras(特别模块),2.Simulink Extras(Simulink 附加库)3.Communications Blockset(通信模块集)4.Control System Toolbox(控制系统工具箱)5.DSP Blockset(数字信号处理模块集)6.Dials&Gauges Blockset(面板和仪表模块集)7.Fixed-Point Blockset(定点模块集)8.Fuzzy Logic Toolbox(模糊逻辑工具箱)9.MPC Blockset(MPC 模块集)10.NCD B

19、lockset(非线性控制设计模块集)11.Motorola DSP Blockset(DSP模块集)12.Neural Network Blockset(神经网络模块集)13.Power System Blockset(电力系统模块集),SIMULINK的一些其它工具箱,14.Real-Time Windows Target(实时窗口目标库)15.Real-Time Workshop(实时工作空间库)16.System ID Blocks(系统辨识模块集)17.Stateflow(有限状态流程库)18.Aerospace Blockset(航空模块集)23.Data Acquistion T

20、oolbox(数据采集工具箱)20.Signal Processing Blocks(信号处理工具箱)21.Image Acquistion Toolbox(图形采集工具箱)22.RF Blockset(射频工具箱)23.Video and Image Processing Blocks图像处理工具箱,新增工具箱:机构仿真工具箱 液压驱动工具箱,例1、考虑下图所示的简单的小车系统运动。,例1、考虑下图所示的简单的小车系统运动。,忽略摩擦力,运动微分方程为:,例1、考虑下图所示的简单的小车系统运动。,在matlab/simulink中搭建仿真模型:加入两个积分模块,第一个模块用来计算速度,第二个

21、模块用来计算位移,可用模块图表示为:,例1、考虑下图所示的简单的小车系统运动。,假定F=sin(t)为正弦激励,m=0.5。求010s 区间内的系统位移响应曲线,仿真结果如下图:,例1、考虑下图所示的简单的小车系统运动。,若要求同时输出位移和速度,则模型框图为:,例1、考虑下图所示的简单的小车系统运动。,仿真结果如下图:,在模型窗口中,选中模块,则其4个角会出现黑色标记。此时可以对模块进行以下的基本操作。移动:选中模块,按住鼠标左键将其拖曳到所需的位置即可。若要脱离线而移动,可按住shift键,再进行拖曳。复制:选中模块,然后按住鼠标右键进行拖曳即可复制同样的一个功能模块。删除:选中模块,按D

22、elete键即可。若要删除多个模块,可以同时按住Shift键,再用鼠标选中多个模块,按Delete键即可。也可以用鼠标选取某区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。转向:为了能够顺序连接功能模块的输入和输出端,功能模块有时需要转向。在菜单FormatFlip Block(Ctrl+I)旋转180度,FormatRotate Block(Ctrl+R)顺时针旋转90度。,模块的处理,Simulink模型的建立方法,改变大小:选中模块,对鼠标移到角上出现,进行拖曳即可。模块命名:先用鼠标在需要更改的名称上单击一下,然后直接更改即可。名称在功能模块上的位置也可以变换180度

23、,可以用FormatFlip Name来实现,也可以直接通过鼠标进行拖曳。Hide Name可以隐藏模块名称。颜色设定:Format Foreground Color改变模块的前景颜色,Background Color改变模块的背景颜色;而模型窗口的颜色可以通过Screen Color来改变。参数设定:用鼠标双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。或点击鼠标右键,选择Block parameters 参数设定窗口包含了该模块的基本功能帮助。通过对模块的参数设定,就可以获得需要的功能模块。,模块的处理,Simulink模型的建立方法,SIMULINK模型的构建是通过用线将

24、各种功能模块进行连接而构成的。用鼠标可以在功能模块的输入与输出端之间直接连线。线的分支:按住鼠标右键,在需要分支的地方拉出即可。或者按住Ctrl键,并在要建立分支的地方用鼠标拉出即可。或从输入端拉线到分支点,模块的连接,Simulink模型的建立方法,属性设定:选中模块,打开EditBlock Properties可以对模块进行属性设定。或鼠标右键选择Block Properties属性包括Description描述属性:对模块的说明文本 Priority优先级属性:模块执行顺序Tag标签属性:Open function属性:通过它指定一个函数名,则当该模块被双击之后,Simulink就会调用

25、该函数执行,这种函数在MATLAB中称为回调函数Attributes format string属性,属性的改变,Simulink模型的建立方法,Simulink模型的建立方法,取信号源Sources/Step,取增益Math/Gain,取传函Continuous/Transfer Fcn,取相加点Math/Sum,取显示Sinks/Scope,连接各元件;选择仿真参数,如停止时间等Simulation/Simulation parameters;开始仿真Simulation/Start,选择start,或这里开始仿真,点击右键,调整显示参数,仿真结果显示,例3、考虑下图所示的简单的小车系统运

26、动。,若要求同时输出位移、速度和加速度,则模型框图为:,Simulink建模与仿真举例,例3、考虑下图所示的简单的小车系统运动。,仿真结果如下图:,例4:,考虑下图所示的简单的小车系统运动。,例4:,考虑下图所示的简单的小车系统运动。,运动微分方程为:,动力方程变换为:,例4:,考虑下图所示的简单的小车系统运动。,在matlab/simulink中搭建仿真模型:,例4:,考虑下图所示的简单的小车系统运动。,位移曲线仿真结果如下图:,同时查看位移、速度、加速度仿真模型框图:,同时查看位移、速度、加速度10s内仿真结果:,若要同时查看位移、速度、加速度20s内仿真结果,该如何设置参数?,第1 步:

27、设置仿真参数和选择解法器 选择Simulation菜单下的Parameters命令,就会弹出一个仿真参数对话框,它主要用三个页面来管理仿真的参数。Solver页,它允许用户设置仿真的开始和结束时间,选择解法器,说明解法器参数及选择一些输出选项。Workspace I/O页,作用是管理模型从MATLAB工作空间的输入和对它的输出。Diagnostics诊断页,允许用户选择Simulink在仿真中显示的警告信息的等级。,构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。运行一个仿真的完整过程分成三个步骤:设置仿真参数,启动仿真和仿真结果分析。,仿真方法与仿真参数的选择,Simuli

28、nk建模与仿真举例,Solver页,Simulation time仿真时间:注意这里的时间是计算机仿真中对时间的一种表示,比如10秒的仿真时间,如果采样步长定为0.1,则需要执行100步,若把步长减小,则采样点数增加,那么实际的执行时间就会增加。一般仿真开始时间设为0,而结束时间视不同的因素而选择。,Solver option解法选项:Type后面的第一个选项中指定仿真的步长类型,分Variable-step(变步长)和Fixed-step(固定步长)两种。,变步长模式解法器有:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb和discrete。o

29、de45:缺省值,四/五阶龙格库塔法,适用于大多数连续或离散系统,但不适用于刚性(stiff)系统。它是单步解法器,也就是,在计算y(tn)时,它仅需要最近处理时刻的结果y(tn-1)。一般来说,面对一个仿真问题最好是首先试试ode45。ode23:二/三阶龙格库塔法,它在误差限要求不高和求解的问题不太难的情况下,可能会比ode45更有效。也是一个单步解法器。ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻输出时,它需要以前多个时刻的解。ode15s:是一种基于数字微分公式的解法器(NDFs)。也是一种多

30、步解法器。适用于刚性系统,当用户估计要解决的问题是比较困难的,或者不能使用ode45,或者即使使用效果也不好,就可以用ode15s。,ode23s:它是一种单步解法器,专门应用于刚性系统,在弱误差允许下的效果好于ode15s。它能解决某些ode15s所不能有效解决的stiff问题。ode23t:是梯形规则的一种自由插值实现。这种解法器适用于求解适度stiff的问题而用户又需要一个无数字振荡的解法器的情况。ode23tb:是TR-BDF2的一种实现,TR-BDF2 是具有两个阶段的隐式龙格库塔公式。discrtet:当Simulink检查到模型没有连续状态时使用它。,Simulink建模与仿真举

31、例,固定步长模式解法器有:ode5,ode4,ode3,ode2,ode1和discrete。ode5:缺省值,是ode45的固定步长版本,适用于大多数连续或离散系统,不适用于刚性系统。ode4:四阶龙格库塔法,具有一定的计算精度。ode3:固定步长的二/三阶龙格库塔法。ode2:改进的欧拉法。ode1:欧拉法。discrete:是一个实现积分的固定步长解法器,它适合于离散无连续状态的系统。,Simulink建模与仿真举例,Fixed step size固定步参数:缺省情况下,步长自动地确定,它由值auto表示Mode(固定步长模式选择)Multitasking:多任务模式,当simulink

32、检测到模块间非法的采样速率转换,它会给出错误提示。所谓的非法采样速率转换指两个工作在不同采样速率的模块之间的直接连接。在实时多任务系统中,如果任务之间存在非法采样速率转换,那么就有可能出现一个模块的输出在另一个模块需要时却无法利用的情况。通过检查这种转换,Multitasking将有助于用户建立一个符合现实的多任务系统的有效模型。使用速率转换模块可以减少模型中的非法速率转换。Simulink提供了两个这样的模块:unit delay模块和zero-order hold模块。对于从慢速率到快速率的非法转换,可以在慢输出端口和快输入端口插入一个单位延时unit delay模块。而对于快速率到慢速率

33、的转换,则可以插入一个零阶采样保持器zero-order hold。Singletasking:单任务模式,不检查模块间的速率转换,它在建立单任务系统模型时非常有用,在这种系统就不存在任务同步问题。Auto:自动模式,simulink会根据模型中模块的采样速率是否一致,自动决定切换到multitasking和singletasking。,Step size步长参数:对于变步长模式,用户可以设置最大的和推荐的初始步长参数,缺省情况下,步长自动地确定,它由值auto表示。Maximum step size(最大步长参数):它决定了解法器能够使用的最大时间步长,它的缺省值为“仿真时间/50”,即整个

34、仿真过程中至少取50个取样点,但这样的取法对于仿真时间较长的系统则可能带来取样点过于稀疏,而使仿真结果失真。一般建议对于仿真时间不超过15s的采用默认值即可,对于超过15s的每秒至少保证5个采样点,对于超过100s的,每秒至少保证3个采样点。Initial step size(初始步长参数):一般建议使用“auto”默认值即可。Relative tolerance(相对误差):它是指误差相对于状态的值,是一个百分比,缺省值为1e-3,表示状态的计算值要精确到0.1%。Absolute tolerance(绝对误差):表示误差值的门限,或者是说在状态值为零的情况下,可以接受的误差。如果它被设成了

35、auto,那么simulink为每一个状态设置初始绝对误差为1e-6。,Simulink建模与仿真举例,Output options输出选项(在变步长模式下有效)Refine output:精细输出,其意义是在仿真输出太稀松时,simulink会产生额外的精细输出,这一点就像插值处理一样。用户可以在refine factor设置仿真时间步间插入的输出点数。产生更光滑的输出曲线,改变精细因子比减小仿真步长更有效,并且在ode45效果最好。Produce additional output:它允许用户直接指定产生输出的时间点。一旦选择了该项,则在它的右边出现一个output times编辑框,在这

36、里用户指定额外的仿真输出点,它既可以是一个时间向量,也可以是表达式。与精细因子相比,这个选项会改变仿真的步长。Produce specified output only:它的意思是让simulink只在指定的时间点上产生输出。为此解法器要调整仿真步长以使之和指定的时间点重合。这个选项在比较不同的仿真时可以确保它们在相同的时间输出。,Workspace I/O页,此页主要用来设置与MATLAB工作空间交换数值的有关选项。Load from workspace:从MATLAB工作空间获取时间和输入变量,一般时间变量定义为t,输入变量定义为u。Initial state用来定义从MATLAB工作空间

37、获得的状态初始值的变量名。Save to workspace:设置保存到MATLAB工作空间的变量类型和变量名,包括输出时间向量(Time)、状态向量(States)和输出变量(Output)。最终状态(Final state)用来定义将系统稳态值存往工作空间所使用的变量名。,Diagnostics页,此页分成两个部分:仿真选项和配置选项。配置选项下的列表框主要列举了一些常见的事件类型,以及当SIMULINK检查到这些事件时给予的处理。仿真选项options主要包括是否进行一致性检验、是否禁用过零检测、是否禁止复用缓存、是否进行不同版本的SIMULINK的检验等几项。除了上述3个主要的页外,仿

38、真参数设置窗口还包括real-time workshop页,主要用于与C语言编辑器的交换,通过它可以直接从SIMULINK模型生成代码并且自动建立可以在不同环境下运行的程序,这些环境包括实时系统和单机仿真。,设置仿真参数和选择解法器之后,就可以启动仿真而运行。选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行,结束时系统会发出一鸣叫声。,启动仿真,Simulink建模与仿真举例,演示示波器Scope,Simulink建模与仿真举例,SCOPE图形的鼠标右键:,zoom out AutoscaleSave c

39、urrent axes settingAxes properties工具栏:Scope parameters General Data historyFloating scope,Exm5_2.mdl,Simulink建模与仿真举例,Simulink建模与仿真举例,Simulink建模与仿真举例,连杆机构设计的基本问题是根据给定的运动要求选定的形式,并确定其各构件的尺寸参数。为了使机构设计合理,可靠,通常还需要满足结构条件(如要求存在曲柄,杆长比较恰当),动力条件和运动连续条件等。根据机械的用途和性能要求等的不同,对连杆机构设计的要求是多种多样的,但这些设计要求一般可归纳为以下三类问题:一是满

40、足预定的运动规律要求,即要求两连架杆的转动能满足预定的对应关系;或者要求在原动件运动规律一定的条件下,从动件能够准确地或者近似地满足预定的运动规律要求;二是满足预定的连杆位置,即要求连杆能依次占据一系列地预定位置;三是满足预定的轨迹要求,即要求在机构运动过程中连杆上某点能实现预定的轨迹。,Simulink建模与仿真举例,确定四个连杆长度后,对曲柄摇杆机构运动进行解析法分析,应用编程方法进行仿真分析的实现。,Simulink建模与仿真举例,按图示运用SimMechanics仿真:,Simulink建模与仿真举例,仿真结果:,Simulink建模与仿真举例,仿真结果:,Simulink建模与仿真举

41、例,仿真结果:,Simulink建模与仿真举例,结果分析:从仿真结果可以看出,对于机械模型设计仿真优化,SimMechanics比普通编程方法无论在效率上,还是功能上都要强大很多,而且实现了动画显示,是机械系统的建模和设计强大而方便的工具。结合某工程应用实际,在分析四杆机构运动学的基础上,利用SimMechanics工具箱对该工程实例进行了仿真分析研究。与运用编程方法进行仿真相比,采用SimMechanics 可以更容易地解决复杂机构系统的仿真问题,使工程技术人员能更专注于对机械系统的各种运动进行分析的应用设计,并可以得出直观的动画效果。SimMechanics工具箱具有系统建模方便直观,仿真

42、功能强大,自动模型分析且不需要编程等优势,它为机械产品的优化仿真分析提供了条件,也为机械产品的性能优化提供了基础。,学习MATLAB/simulink的方法:1.听,听老师讲,掌握快 2.练,听后练习,掌握牢 3.试,大胆尝试,掌握好 4.查,查看帮助,掌握多,SIMULINK仿真编程四个层次:1.会使用基本模块搭建模型 2.能使用已有模块搭建复杂模块和模型 3.能使用S-function编写复杂模块 4.能将SIMULINK用于半实物仿真或实时控制,推荐学习SIMULINK论坛:研学论坛(http:/)中国振动联盟(http:/),m=5,k=2,c=1,已知条件:假设系统处于零平衡位置,外力函数为幅值为1 的阶跃函数。,介绍了一个强大的仿真环境MATLAB/Simulink,SIMULINK是MATLAB的一个扩展软件,它是基于模型化图型输入的仿真环境。介绍了系统Simulink 建模的全过程,包括模块复制,模块连接,模块参数修改,仿真控制参数设置,仿真过程的启动和仿真结果显示等。对几类常用的系统形式通过例子进行了详细介绍。,小结,作业:弹簧阻尼系统仿真,已知:,试分析参数b对系统阶跃响应的影响。,忽略重力影响,弹簧阻尼系统的数学模型:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号