Simulink-第5章-连续系统.ppt
- 文档编号:966264
- 上传时间:2022-10-14
- 格式:PPT
- 页数:33
- 大小:371KB
Simulink-第5章-连续系统.ppt
《Simulink-第5章-连续系统.ppt》由会员分享,可在线阅读,更多相关《Simulink-第5章-连续系统.ppt(33页珍藏版)》请在冰豆网上搜索。
Simulink,第五章连续系统,本章学习内容和目的,进一步掌握连续系统的建模和仿真技巧掌握向量线性系统的描述方法结合蹦极跳的算例领会复杂系统的建模方法与仿真,5.1连续系统仿真(采用积分模块),惯性力,阻尼力,弹性恢复力,系统参数:
系统动力方程:
对原动力方程作变换:
代入参数:
假定有如下初始条件:
初始值设置为1,连续系统仿真(采用传递函数模块),系统动力方程:
上式经过Laplace变换,有:
于是得到传递函数为:
已知条件:
假设系统处于零平衡位置,外力函数为幅值为1的阶跃函数。
采用积分模块所建的模型,采用传递函数模块所建的模型,分子输入:
1分母输入:
5,1,2或者:
分子输入:
0.2分母输入:
1,0.2,0.4,transferFcn_model.mdl,采用积分模块仿真的结果,采用传递函数模块仿真的结果,5.2向量线性系统,信号线传输的信号可以是标量形式,也可以是向量信号形式。
现面对向量信号的使用进行介绍。
向量信号线,在Signals&Systems模块库中有一个Mux模块,它可以将多个标量信号合成为一个向量信号,如右图所示。
输出为列向量。
与Mux相对应的模块是Demux模块,它用来将向量信号分解成一组标量信号,如右图所示。
在Mux模块和Demux模块中必须正确指定输入或输出的个数。
下图是将三个标量信号合成为一个向量信号,然后再分解为三个标量信号。
Mux模块与增益模块的连接。
看如下例子。
输出为:
在Gain中输入1,1,在Multiplication中选择Matrix(u*K),若在增益模块中选择Matrix(K*u),则结果如下。
输出为:
在Gain中输入1,1,在Multiplication中选择Matrix(K*u),输出为:
在Gain中输入2,在Multiplication中选择Element-wise(K.*u),状态空间模块,算例:
F(t)是阶跃函数,在状态空间模块中输入:
A=0,1;-0.4,-0.2,B=0;0.2C=10;01D=0;0initialconditions:
0.20,见statespace_model.mdl,5.3非线性系统的模拟,以两个例子说明非线性模块的使用方法。
例子1:
小车由两个喷射式发动机推动,在光滑的平面内运动。
若小车的速度和位移之和为负值,则启动左边的发动机;若小车的速度和位移之和为正值,则启动右边的发动机。
控制目标使小车静止在原点。
此模型类似于卫星的位置控制过程。
动力学方程:
假设:
有关符号函数模块的用法:
Output1forpositiveinput-1fornegativeinput0for0inputy=signum(u),系统模型,假定小车初始静止,并且位移量为1,初始位移为1,用一个二维图形模块来绘制仿真过程的相图。
相图是速度相对于位移的变化图。
为了观测时间,给模型加一个时钟模块。
见nonlinear_system_model.mdl,注:
在MATLAB中使用plot(xout(:
1),xout(:
2)画出的图形,和XYGraph的结果一致。
为了得知小车何时到达原点并使仿真停止,对模型增加一个逻辑判断,以使目标达到时仿真自动停止。
对于本算例,可以认为小车的位移和速度的绝对值之和小于一个较小的量,如0.01时,就认为目标已经达到并结束仿真。
其数学表达为:
XYGraph,1,s,Velocity,STOP,StopSimulation,Sign,=,Relational,Operator,7.9,Display,1,s,Displacement,0.01,Constant,Clock,|u|,Abs1,|u|,Abs,0.2,1/m,nonlinear_system_model_1.mdl,如果想得到小车位移的响应时程,可在模型中加入示波器模块,如下图所示:
XYGraph,1,s,Velocity,STOP,StopSimulation,Sign,=,Relational,Operator,7.9,Display,1,s,Displacement,0.01,Constant,Clock,|u|,Abs1,|u|,Abs,0.2,1/m,Scope,仿真结果如下页图形所示。
该图形是采用MATLAB环境下的plot(tout,xout(:
1)画出的,结果与示波器的结果一致。
由图形可看出,仿真在7.9s时停止,这与模型框图中的时钟显示模块Display的结果一致。
小车系统在7.9s时达到平衡。
6.4蹦极跳系统的动态仿真,蹦极跳是一种挑战身体极限的运动,蹦极者系着一根弹性绳从高处的桥梁(或山崖等)向下跳。
在下落的过程中,蹦极者几乎处于失重状态。
按照牛顿运动规律,自由下落的物体由下式确定:
其中,m为人体的质量,g为重力加速度,x为物体的位置,第二项和第三项表示空气的阻力。
其中位置x的基准为蹦极者开始跳下的位置(即选择桥梁作为位置的起点x0),低于桥梁的位置为正值,高于桥梁的位置为负值。
如果人体系在一个弹性常数为k的弹性绳索上,定义绳索下端的初始位置为0,则其对落体位置的影响为:
空气的阻力,因此整个蹦极系统的数学模型为:
从蹦极跳系统的数学描述中可得知,此系统为一典型的具有连续状态的非线性系统。
设桥梁距离地面为50m,即h2=50;蹦极者的起始位置30m,即h1=x(0)30;蹦极者起始速度为0,即;其余参数k20,a2a11;m70kg,g10m/s2。
下面将建立蹦极跳系统的仿真模型,并在如上的参数下对系统进行仿真,分析此蹦极跳系统对体重为70kg的蹦极者而言是否安全。
Switch模块介绍:
Passthroughinput1wheninput2isgreaterthanorequaltothreshold;otherwise,passthroughinput3.Theinputsarenumberedtoptobottom(orlefttoright),初始条件设置为0,初始条件设置为-30,说明:
(1)设置仿真时间0100s。
为了使曲线光滑,可设置最大仿真步长为0.1。
(2)在MATLAB环境下输入m=70;g=10;k=20;a1=1;a2=1;,beng_ji_jump.mdl,Scope显示的结果,Scope1显示的结果,(a),(b),whosNameSizeBytesClassa11x18doublearraya21x18doublearrayg1x18doublearrayk1x18doublearraym1x18doublearraytout1000x18000doublearrayxout1000x216000doublearray,若在MATLAB环境下键入:
whos可得到:
tout为时间序列;xout第一列为位移时间序列,第二列为速度时间序列。
若在MATLAB环境下键入:
plot(tout,xout(:
1),将得到上图(a)所示的图形,该图形是系统模型中示波器Scope显示的结果。
如果想在MATLAB环境下使用plot命令画出示波器Scope1显示的图形,可在系统模型中加入out模块,如下图所示。
whosNameSizeBytesClassa11x18doublearraya21x18doublearrayg1x18doublearrayk1x18doublearraym1x18doublearraytout1000x18000doublearrayxout1000x216000doublearrayyout1000x18000doublearray,此时在MATLAB环境下键入:
whos可得到:
其中yout为out模块的输出结果。
此时若在MATLAB环境下键入:
plot(tout,yout)将得到上图(b)所示的图形,该图形是系统模型中示波器Scope1显示的结果。
结果分析:
上图(b)为蹦极者与地面之间的距离。
从结果可看出,对于体重为70kg的蹦极者,此系统是不安全的,因为蹦极者与地面之间的距离出现了负值(即蹦极者在下落的过程中会触地,而安全的蹦极跳系统要求二者之间的距离应该大于0)。
因此,必须使用弹性系数较大的弹性绳索,才能保证蹦极者的安全。
当然,在蹦极者触地的情况下,系统的动态方程会发生改变,系统输出结果也将发生变化。
上图的仿真结果并没有考虑到这一点(假定蹦极者距离地面足够大,不会触地),(a)Scope显示的结果,(b)Scope1显示的结果,作业:
用simulink仿真蹦极跳系统。
分别计算k=22和k=30两种情况。
分析比较结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Simulink 连续 系统