Wang Haihua
🍈 🍉🍊 🍋 🍌
建立微分方程模型一般可分以下三步:
该方法的基本思想是在不同的假设下模拟实际的现象,即建立模拟近似的微分方程,从数学上求解或分析解的性质,再去和实际情况作对比,观察这个模型能否模拟、近似某些实际的现象。
在交通十字路口,都会设置红绿灯。为了让那些正行驶在交叉路口或离交叉路口太近而无法停下的车辆通过路口,红绿灯转换中间还要亮起一段时间的黄灯。那么,黄灯应亮多长时间才最为合理呢?
黄灯状态持续的时间包括驾驶员的反应时间、车通过交叉路口的时间以及通过刹车距离所需的时间。
记 $v_{0}$ 是法定速度, $I$ 是交通路口的长度, $L$ 是典型的车身长度, 则车通过路口的时间为 $\frac{I+L}{v_{0}}$ 。
下面计算刹车距离, 刹车距离就是从开始刹车到速度 $v=0$ 时汽车驶过的距离。设 $W$ 为汽车的重量, $\mu$ 为摩擦系数。显然, 地面对汽车的摩擦力为 $\mu W$, 其方向与运动方向相反。由牛顿第二定律, 汽车在停车过程中, 行驶的距离 $x$ 与时间 $t$ 的关系可由下面的微分方程表示: $$ \frac{W}{g} \frac{d^{2} x}{d t^{2}}=-\mu W, $$ 其中, $g$ 为重力加速度。化简上式, 得 $$ \frac{d^{2} x}{d t^{2}}=-\mu g . $$
冉考虑初始条件, 建立如下的二阶微分方程模型 $$ \left\{\begin{array}{l} \frac{d^{2} x}{d t^{2}}=-\mu g, \\ \left.x\right|_{t=0}=0,\left.\quad \frac{d x}{d t}\right|_{t=0}=v_{0} \end{array}\right. $$ 先求解二阶微分方程式, 对式两边从 0 到 $t$ 积分, 利用初始条件得 $$ \frac{d x}{d t}=-\mu g t+v_{0} . $$
再积分一次, 求得二阶微分方程初值问题的解为 $$ x(t)=-\frac{1}{2} \mu g t^{2}+v_{0} t . $$ 在式中令 $\frac{d x}{d t}=0$, 可得刹车所用时间 $t_{0}=\frac{v_{0}}{\mu g}$, 从而得到刹车距离 $x\left(t_{0}\right)=\frac{v_{0}^{2}}{2 \mu g} 。$
下面计算黄灯状态的时间 $T$ ,则 $$ T=\frac{x\left(t_{0}\right)+I+L}{v_{0}}+T_{0}, $$ 其中 $T_{0}$ 是驾驶员的反应时间, 代入 $x\left(t_{0}\right)$ 得 $$ T=\frac{v_{0}}{2 \mu g}+\frac{I+L}{v_{0}}+T_{0} \text {. } $$
设 $T_{0}=1 \mathrm{~s}, L=4.5 \mathrm{~m}, I=9 \mathrm{~m}$ 。另外, 取具有代表性的 $\mu=0.7$, 当 $v_{0}=45$ $\mathrm{km} / \mathrm{h} 、 60 \mathrm{~km} / \mathrm{h}$ 以及 $80 \mathrm{~km} / \mathrm{h}$ 时,黄灯时间 $T$ 如表 $8.1$ 所列。 表 $8.1$ 不同速度下计算的黄灯时长
v0/(km/s) | 45 | 65 | 80 |
---|---|---|---|
T/s | 4.58 | 5.95 | 7.00 |
代码
from numpy import array
v0=array([45, 65, 80])
T0=1; L=4.5; I=9; mu=0.7; g=9.8
T=v0/(2*mu*g)+(I+L)/v0+T0
print(T)
from numpy import array
v0=array([45, 65, 80])
T0=1; L=4.5; I=9; mu=0.7; g=9.8
T=v0/(2*mu*g)+(I+L)/v0+T0
print(T)
[4.57988338 5.94530164 6.99965379]