此示例示出了如何建模反弹球,这是一个传统的混合动力系统。该模型包括两个连续动力学和离散的转换。它使用符号数学工具箱来帮助解释一些理论背后的ODE求解GydF4y2Ba金宝app反弹球的型号的SimulinkGydF4y2Ba。GydF4y2Ba
球没有角度篮板GydF4y2Ba
没有阻力GydF4y2Ba
高度在时间t = 0为10米GydF4y2Ba
用向上的为15m / s的速度抛出GydF4y2Ba
恢复系数被定义为GydF4y2Ba
其中v是物体的碰撞前的速度,u是之后的速度。GydF4y2Ba
我们分裂二阶微分方程GydF4y2Ba
成GydF4y2Ba
离散为GydF4y2Ba
和GydF4y2Ba
离散为GydF4y2Ba
我们将使用基本的一阶数值积分使用前向欧拉。GydF4y2Ba
使用符号数学工具箱,我们可以通过分析解决这个问题。这使我们能够解决一些问题更容易,如精确地确定何时所述第一球撞击地面(下文)。GydF4y2Ba
我们声明符号变量。GydF4y2Ba
SYMSGydF4y2BaGGydF4y2BaŤGydF4y2BaH T)GydF4y2BaH_0GydF4y2BaV_0GydF4y2Ba
分解二阶微分方程GydF4y2Ba 成GydF4y2Ba 和GydF4y2Ba 。GydF4y2Ba
DH = DIFF(H);D2H = DIFF(H,2)==克GydF4y2Ba
D2H(T)=GydF4y2Ba
使用解决ODEGydF4y2BadsolveGydF4y2Ba
:GydF4y2Ba
等式= dsolve(D2H,H(0)== H_0,DH(0)== V_0)GydF4y2Ba
公式=GydF4y2Ba
使用参数化探索运动的抛物线轮廓GydF4y2Ba潜艇GydF4y2Ba
:GydF4y2Ba
等式=潜艇(方程,[H_0,V_0,克],[10,15,-9.81])GydF4y2Ba
公式=GydF4y2Ba
求出球落地的时间为0:GydF4y2Ba
假设(t > 0) tHit = solve(eqn == 0)GydF4y2Ba
tHit =GydF4y2Ba
可视化解决方案GydF4y2Ba
fplot(方程,[0 10])ylim([0 25])GydF4y2Ba
使用可变精度算法格式化精确结果GydF4y2BaVPAGydF4y2Ba
:GydF4y2Ba
DISP([GydF4y2Ba“与10m和15米的速度的初始高度的球/ s的将在撞到地面”GydF4y2Ba炭(VPA(tHit,4))GydF4y2Ba“秒”。GydF4y2Ba])GydF4y2Ba
与10m和15米的速度的初始高度的球/ s的将在3.621秒撞到地面。GydF4y2Ba
设置仿真参数GydF4y2Ba
球的性能GydF4y2Ba
c_bounce = 0.9;GydF4y2Ba%恢复原状的弹跳的系数;完全恢复将是1GydF4y2Ba
模拟的性能GydF4y2Ba
比重= 9.8;GydF4y2Ba重力加速度% (m/s)GydF4y2Baheight_0 = 10;GydF4y2Ba%在时间t = 0(米)初始高度GydF4y2Bavelocity_0 = 15;GydF4y2Ba%在时间t的初始速度= 0(米/秒)GydF4y2Ba
声明模拟时间步长GydF4y2Ba
DT = 0.05;GydF4y2Ba%动画时间步长(s)GydF4y2Bat_final = 25;GydF4y2Ba%模拟周期sGydF4y2Bat = 0时:DT:t_final;GydF4y2Ba% 时间跨度GydF4y2BaN =长度(T);GydF4y2Ba迭代的数量%GydF4y2Ba
初始化模拟量GydF4y2Ba
h = [];GydF4y2Ba球的百分比高度作为时间的函数(M)GydF4y2Bav = [];GydF4y2Ba球(米/秒)作为时间的函数的%速度(米/秒)GydF4y2BaH(1)= height_0;V(1)= velocity_0;GydF4y2Ba
模拟弹跳球(我们将使用基本的一阶数值积分使用前向欧拉):GydF4y2Ba
对于GydF4y2BaI = 1:N-1 V(I + 1)= V(I)-gravity * dt的;H(I + 1)= H(I)+ V(I)* dt的;GydF4y2Ba%当球反弹(高度小于0),GydF4y2Ba%扭转速度,重新计算的位置。GydF4y2Ba%使用恢复系数GydF4y2Ba如果GydF4y2Bah(i+1) < 0 v(i)=-v(i)*c_bounce;v (i + 1) =(我)重力* dt;h (i + 1) = 0 + v (i) * dt;GydF4y2Ba结束GydF4y2Ba结束GydF4y2Ba
可视化和验证模拟GydF4y2Ba
情节(t、h、GydF4y2Ba“o”GydF4y2Ba)举行GydF4y2Ba在GydF4y2Bafplot(方程,[0 10])标题(GydF4y2Ba“身高随着时间的推移”GydF4y2Ba)ylim([0 25])保持GydF4y2Ba离GydF4y2Ba
图(T,V)称号(GydF4y2Ba“速度随着时间的推移”GydF4y2Ba)GydF4y2Ba
需要提醒的冲击的时间为:GydF4y2Ba
DISP([GydF4y2Ba“与10m和15米的速度的初始高度的球/ s的将在撞到地面”GydF4y2Ba炭(VPA(tHit,4))GydF4y2Ba“秒”。GydF4y2Ba])GydF4y2Ba
与10m和15米的速度的初始高度的球/ s的将在3.621秒撞到地面。GydF4y2Ba
从数值模拟,我们可以发现在模拟时最接近的值GydF4y2Ba
i =装天花板(双(,越南/ dt));t(张(i + 1)GydF4y2Ba
ANS =GydF4y2Ba1×3GydF4y2Ba3.5500 3.6000 3.6500GydF4y2Ba
情节(t、h、GydF4y2Ba“o”GydF4y2Ba)举行GydF4y2Ba在GydF4y2Bafplot(方程,[0 10])曲线图(T([I-1 I I + 1]),H([I-1 I I + 1]),GydF4y2Ba'* R'GydF4y2Ba)标题(GydF4y2Ba“身高随着时间的推移”GydF4y2Ba)XLIM([0 5])ylim([0 25])保持GydF4y2Ba离GydF4y2Ba