使用符号数学工具箱金宝app验证Simulink模型GydF4y2Ba

此示例示出了如何建模反弹球,这是一个传统的混合动力系统。该模型包括两个连续动力学和离散的转换。它使用符号数学工具箱来帮助解释一些理论背后的ODE求解GydF4y2Ba金宝app反弹球的型号的SimulinkGydF4y2Ba。GydF4y2Ba

假设GydF4y2Ba

  • 球没有角度篮板GydF4y2Ba

  • 没有阻力GydF4y2Ba

  • 高度在时间t = 0为10米GydF4y2Ba

  • 用向上的为15m / s的速度抛出GydF4y2Ba

求导GydF4y2Ba

恢复系数被定义为GydF4y2Ba

CGydF4y2Ba [RGydF4y2Ba =GydF4y2Ba vGydF4y2Ba bGydF4y2Ba -GydF4y2Ba vGydF4y2Ba 一个GydF4y2Ba /GydF4y2Ba üGydF4y2Ba 一个GydF4y2Ba -GydF4y2Ba üGydF4y2Ba bGydF4y2Ba

其中v是物体的碰撞前的速度,u是之后的速度。GydF4y2Ba

我们分裂二阶微分方程GydF4y2Ba

dGydF4y2Ba 2GydF4y2Ba HGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba 2GydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba

成GydF4y2Ba

dGydF4y2Ba HGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba vGydF4y2Ba 离散为GydF4y2Ba HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba -GydF4y2Ba HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba

和GydF4y2Ba

dGydF4y2Ba vGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba 离散为GydF4y2Ba vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba -GydF4y2Ba vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba

我们将使用基本的一阶数值积分使用前向欧拉。GydF4y2Ba

HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba =GydF4y2Ba HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba +GydF4y2Ba vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba

vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba =GydF4y2Ba vGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba -GydF4y2Ba GGydF4y2Ba ΔGydF4y2Ba ŤGydF4y2Ba

用分析的方法解决问题GydF4y2Ba

使用符号数学工具箱,我们可以通过分析解决这个问题。这使我们能够解决一些问题更容易,如精确地确定何时所述第一球撞击地面(下文)。GydF4y2Ba

我们声明符号变量。GydF4y2Ba

SYMSGydF4y2BaGGydF4y2BaŤGydF4y2BaH T)GydF4y2BaH_0GydF4y2BaV_0GydF4y2Ba

分解二阶微分方程GydF4y2Ba dGydF4y2Ba 2GydF4y2Ba HGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba 2GydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba 成GydF4y2Ba dGydF4y2Ba HGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba vGydF4y2Ba 和GydF4y2Ba dGydF4y2Ba vGydF4y2Ba dGydF4y2Ba ŤGydF4y2Ba =GydF4y2Ba -GydF4y2Ba GGydF4y2Ba 。GydF4y2Ba

DH = DIFF(H);D2H = DIFF(H,2)==克GydF4y2Ba
D2H(T)=GydF4y2Ba

∂GydF4y2Ba 2GydF4y2Ba ∂GydF4y2Ba ŤGydF4y2Ba 2GydF4y2Ba HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba )GydF4y2Ba =GydF4y2Ba GGydF4y2Ba 差异(H(T),T,2)==克GydF4y2Ba

使用解决ODEGydF4y2BadsolveGydF4y2Ba:GydF4y2Ba

等式= dsolve(D2H,H(0)== H_0,DH(0)== V_0)GydF4y2Ba
公式=GydF4y2Ba

GGydF4y2Ba ŤGydF4y2Ba 2GydF4y2Ba 2GydF4y2Ba +GydF4y2Ba vGydF4y2Ba 0GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba HGydF4y2Ba 0GydF4y2Ba (克* T ^ 2)/ 2 + V_0 * T + H_0GydF4y2Ba

使用参数化探索运动的抛物线轮廓GydF4y2Ba潜艇GydF4y2Ba:GydF4y2Ba

等式=潜艇(方程,[H_0,V_0,克],[10,15,-9.81])GydF4y2Ba
公式=GydF4y2Ba

-GydF4y2Ba 981GydF4y2Ba ŤGydF4y2Ba 2GydF4y2Ba 200GydF4y2Ba +GydF4y2Ba 15GydF4y2Ba ŤGydF4y2Ba +GydF4y2Ba 10GydF4y2Ba - (981 * T ^ 2)/ 200 + 15×T + 10GydF4y2Ba

求出球落地的时间为0:GydF4y2Ba

假设(t > 0) tHit = solve(eqn == 0)GydF4y2Ba
tHit =GydF4y2Ba

20GydF4y2Ba 五GydF4y2Ba 26GydF4y2Ba 109GydF4y2Ba +GydF4y2Ba 500GydF4y2Ba 327GydF4y2Ba (20 * SQRT(符号(5))* SQRT(符号(26)))/ 109 +符号(327分之500)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

球的性能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

验证Numerics的与分析GydF4y2Ba

比较分析结果和数值结果。GydF4y2Ba

需要提醒的冲击的时间为:GydF4y2Ba

DISP([GydF4y2Ba“与10m和15米的速度的初始高度的球/ s的将在撞到地面”GydF4y2Ba炭(VPA(tHit,4))GydF4y2Ba“秒”。GydF4y2Ba])GydF4y2Ba
与10m和15米的速度的初始高度的球/ s的将在3.621秒撞到地面。GydF4y2Ba

从数值模拟,我们可以发现在模拟时最接近的值GydF4y2Ba HGydF4y2Ba (GydF4y2Ba ŤGydF4y2Ba 一世GydF4y2Ba )GydF4y2Ba ≈GydF4y2Ba 0GydF4y2Ba

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