主要内容gydF4y2Ba

验证使用符号数学工金宝app具箱仿真软件模型gydF4y2Ba

这个例子展示了如何建模一个弹力球,这是一个经典的混合动态系统。这个模型包括连续动力学和离散转换。它使用符号数学工具箱™来帮助解释背后的一些理论解决的颂歌gydF4y2Ba模拟弹力球gydF4y2Ba(金宝app模型)gydF4y2Ba。gydF4y2Ba

假设gydF4y2Ba

  • 球反弹没有角gydF4y2Ba

  • 没有拖gydF4y2Ba

  • 高度在时间t = 0 = 10米gydF4y2Ba

  • 向上抛出,15米/秒的速度gydF4y2Ba

推导gydF4y2Ba

恢复系数被定义为gydF4y2Ba

CgydF4y2Ba rgydF4y2Ba =gydF4y2Ba vgydF4y2Ba bgydF4y2Ba - - - - - -gydF4y2Ba vgydF4y2Ba 一个gydF4y2Ba /gydF4y2Ba ugydF4y2Ba 一个gydF4y2Ba - - - - - -gydF4y2Ba ugydF4y2Ba bgydF4y2Ba

v是对象之前的速度的影响和u是速度。gydF4y2Ba

我们将二阶微分方程gydF4y2Ba

dgydF4y2Ba 2gydF4y2Ba hgydF4y2Ba dgydF4y2Ba tgydF4y2Ba 2gydF4y2Ba =gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba

成gydF4y2Ba

dgydF4y2Ba hgydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba vgydF4y2Ba 离散为gydF4y2Ba hgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba )gydF4y2Ba - - - - - -gydF4y2Ba hgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba =gydF4y2Ba vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba

和gydF4y2Ba

dgydF4y2Ba vgydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba 离散为gydF4y2Ba vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba )gydF4y2Ba - - - - - -gydF4y2Ba vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba =gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba

我们将使用基本一阶数值积分使用欧拉向前发展。gydF4y2Ba

hgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba hgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba +gydF4y2Ba vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba

vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba vgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba ΔgydF4y2Ba tgydF4y2Ba

解决问题分析gydF4y2Ba

使用符号数学工具箱,我们可以分析方法问题。这让我们更容易地解决某些问题,如确定精确当球第一次击中地面(下图)。gydF4y2Ba

声明我们的符号变量。gydF4y2Ba

信谊gydF4y2BaggydF4y2BatgydF4y2BaH (t)gydF4y2Bah_0gydF4y2Bav_0gydF4y2Ba

将二阶微分方程gydF4y2Ba dgydF4y2Ba 2gydF4y2Ba hgydF4y2Ba dgydF4y2Ba tgydF4y2Ba 2gydF4y2Ba =gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba 成gydF4y2Ba dgydF4y2Ba hgydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba vgydF4y2Ba 和gydF4y2Ba dgydF4y2Ba vgydF4y2Ba dgydF4y2Ba tgydF4y2Ba =gydF4y2Ba - - - - - -gydF4y2Ba ggydF4y2Ba 。gydF4y2Ba

Dh = diff (H);D2h = diff (H, 2) = = ggydF4y2Ba
D2h (t) =gydF4y2Ba

∂gydF4y2Ba 2gydF4y2Ba ∂gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba HgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba ggydF4y2Ba

解决ODE使用gydF4y2BadsolvegydF4y2Ba:gydF4y2Ba

eqn = dsolve (D2h H (0) = = h_0 Dh (0) = = v_0)gydF4y2Ba
eqn =gydF4y2Ba

ggydF4y2Ba tgydF4y2Ba 2gydF4y2Ba 2gydF4y2Ba +gydF4y2Ba vgydF4y2Ba 0gydF4y2Ba tgydF4y2Ba +gydF4y2Ba hgydF4y2Ba 0gydF4y2Ba

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

eqn =潜艇(eqn [h_0, v_0, g], [10 15 -9.81])gydF4y2Ba
eqn =gydF4y2Ba

- - - - - -gydF4y2Ba 981年gydF4y2Ba tgydF4y2Ba 2gydF4y2Ba 200年gydF4y2Ba +gydF4y2Ba 15gydF4y2Ba tgydF4y2Ba +gydF4y2Ba 10gydF4y2Ba

找到时间的球击中地面通过求解零:gydF4y2Ba

假设(t > 0),越南=解决(eqn = = 0)gydF4y2Ba
,越南=gydF4y2Ba

20.gydF4y2Ba 5gydF4y2Ba 26gydF4y2Ba 109年gydF4y2Ba +gydF4y2Ba 500年gydF4y2Ba 327年gydF4y2Ba

可视化解决方案:gydF4y2Ba

fplot (eqn 10 [0]) ylim (25 [0])gydF4y2Ba

图包含一个坐标轴对象。坐标轴functionline类型的对象包含一个对象。gydF4y2Ba

确切的结果用可变精度运算格式gydF4y2BavpagydF4y2Ba:gydF4y2Ba

disp ([gydF4y2Ba的球的初始高度10米和15米/秒的速度将会撞到地面的gydF4y2Bachar (vpa(,越南,4))gydF4y2Ba“秒”。gydF4y2Ba])gydF4y2Ba
球的初始高度10米和15米/秒的速度将在3.621秒撞到地面。gydF4y2Ba

解决问题的数值gydF4y2Ba

设置仿真参数gydF4y2Ba

球的属性gydF4y2Ba

c_bounce =。9;gydF4y2Ba%跳跃的恢复系数;完美的赔偿是1gydF4y2Ba

性能的仿真gydF4y2Ba

重力= 9.8;gydF4y2Ba%的重力加速度(米/秒)gydF4y2Baheight_0 = 10;gydF4y2Ba%初始高度在时间t = 0 (m)gydF4y2Bavelocity_0 = 15;gydF4y2Ba%初始速度在时间t = 0(米/秒)gydF4y2Ba

宣布仿真时间步gydF4y2Ba

dt = 0.05;gydF4y2Ba%动画步伐(s)gydF4y2Bat_final = 25;gydF4y2Ba%模拟时期(年代)gydF4y2Bat = 0: dt: t_final;gydF4y2Ba%时间间隔gydF4y2BaN =长度(t);gydF4y2Ba%的迭代次数gydF4y2Ba

初始化模拟量gydF4y2Ba

h = [];gydF4y2Ba%球作为时间的函数的高度(米)gydF4y2Bav = [];gydF4y2Ba%的速度球(m /秒)作为时间的函数(米/秒)gydF4y2Bah (1) = height_0;v (1) = velocity_0;gydF4y2Ba

模拟弹力球(我们将使用基本一阶数值积分使用向前欧拉):gydF4y2Ba

为gydF4y2Bai = 1: n - 1 v (i + 1) =(我)重力* dt;h (i + 1) = h (i) + v (i) * dt;gydF4y2Ba%当皮球跳(高度小于0),gydF4y2Ba%扭转速度和重新计算这个职位。gydF4y2Ba使用回弹系数%gydF4y2Ba如果gydF4y2Bah (i + 1) < 0 v (i) = - v(我)* c_bounce;v (i + 1) =(我)重力* dt;h (i + 1) = 0 + v (i) * dt;gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba

可视化和仿真验证gydF4y2Ba

情节(t、h、gydF4y2Ba“o”gydF4y2Ba)举行gydF4y2Ba在gydF4y2Bafplot (eqn 10[0])标题(gydF4y2Ba高度随时间的gydF4y2Ba25)ylim ([0])gydF4y2Ba从gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题高度随着时间的推移,包含2线类型的对象,functionline。一个或多个行显示的值只使用标记gydF4y2Ba

情节(t, v)标题(gydF4y2Ba速度随着时间的gydF4y2Ba)gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题速度随着时间的推移,包含一个类型的对象。gydF4y2Ba

验证数值运算与分析gydF4y2Ba

你和数值结果的分析结果进行比较。gydF4y2Ba

提醒人们时间的影响是:gydF4y2Ba

disp ([gydF4y2Ba的球的初始高度10米和15米/秒的速度将会撞到地面的gydF4y2Bachar (vpa(,越南,4))gydF4y2Ba“秒”。gydF4y2Ba])gydF4y2Ba
球的初始高度10米和15米/秒的速度将在3.621秒撞到地面。gydF4y2Ba

从数值模拟我们能找到最接近的模拟时的价值gydF4y2Ba hgydF4y2Ba (gydF4y2Ba tgydF4y2Ba 我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 (eqn 10[0])情节(t([张我+ 1]),h([张我+ 1]),gydF4y2Ba“* R”gydF4y2Ba)标题(gydF4y2Ba高度随时间的gydF4y2Ba5)xlim ([0]) ylim (25 [0])gydF4y2Ba从gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题高度随着时间的推移,包含3线类型的对象,functionline。一个或多个行显示的值只使用标记gydF4y2Ba