验证使用符号数学工金宝app具箱仿真软件模型gydF4y2Ba
这个例子展示了如何建模一个弹力球,这是一个经典的混合动态系统。这个模型包括连续动力学和离散转换。它使用符号数学工具箱™来帮助解释背后的一些理论解决的颂歌gydF4y2Ba模拟弹力球gydF4y2Ba(金宝app模型)gydF4y2Ba。gydF4y2Ba
假设gydF4y2Ba
球反弹没有角gydF4y2Ba
没有拖gydF4y2Ba
高度在时间t = 0 = 10米gydF4y2Ba
向上抛出,15米/秒的速度gydF4y2Ba
推导gydF4y2Ba
恢复系数被定义为gydF4y2Ba
v是对象之前的速度的影响和u是速度。gydF4y2Ba
我们将二阶微分方程gydF4y2Ba
成gydF4y2Ba
离散为gydF4y2Ba
和gydF4y2Ba
离散为gydF4y2Ba
我们将使用基本一阶数值积分使用欧拉向前发展。gydF4y2Ba
解决问题分析gydF4y2Ba
使用符号数学工具箱,我们可以分析方法问题。这让我们更容易地解决某些问题,如确定精确当球第一次击中地面(下图)。gydF4y2Ba
声明我们的符号变量。gydF4y2Ba
信谊gydF4y2BaggydF4y2BatgydF4y2BaH (t)gydF4y2Bah_0gydF4y2Bav_0gydF4y2Ba
将二阶微分方程gydF4y2Ba 成gydF4y2Ba 和gydF4y2Ba 。gydF4y2Ba
Dh = diff (H);D2h = diff (H, 2) = = ggydF4y2Ba
D2h (t) =gydF4y2Ba
解决ODE使用gydF4y2BadsolvegydF4y2Ba
:gydF4y2Ba
eqn = dsolve (D2h H (0) = = h_0 Dh (0) = = v_0)gydF4y2Ba
eqn =gydF4y2Ba
使用参数化探索的抛物线运动gydF4y2Ba潜艇gydF4y2Ba
:gydF4y2Ba
eqn =潜艇(eqn [h_0, v_0, g], [10 15 -9.81])gydF4y2Ba
eqn =gydF4y2Ba
找到时间的球击中地面通过求解零:gydF4y2Ba
假设(t > 0),越南=解决(eqn = = 0)gydF4y2Ba
,越南=gydF4y2Ba
可视化解决方案:gydF4y2Ba
fplot (eqn 10 [0]) ylim (25 [0])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
情节(t, v)标题(gydF4y2Ba速度随着时间的gydF4y2Ba)gydF4y2Ba
验证数值运算与分析gydF4y2Ba
你和数值结果的分析结果进行比较。gydF4y2Ba
提醒人们时间的影响是:gydF4y2Ba
disp ([gydF4y2Ba的球的初始高度10米和15米/秒的速度将会撞到地面的gydF4y2Bachar (vpa(,越南,4))gydF4y2Ba“秒”。gydF4y2Ba])gydF4y2Ba
球的初始高度10米和15米/秒的速度将在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 (eqn 10[0])情节(t([张我+ 1]),h([张我+ 1]),gydF4y2Ba“* R”gydF4y2Ba)标题(gydF4y2Ba高度随时间的gydF4y2Ba5)xlim ([0]) ylim (25 [0])gydF4y2Ba从gydF4y2Ba