求解具有斜坡力函数的常微分方程
计算一个纯斜坡响应.
In[1]:=
![Click for copyable input](assets.zh/solve-an-ode-with-a-ramp-forcing-function/In_156.png)
sol = DSolveValue[{x''[t] + a^2 x[t] == Ramp[t - a], x[0] == 0,
x'[0] == 0}, x[t], t, Assumptions -> a > 0] // FullSimplify
Out[1]=
![](assets.zh/solve-an-ode-with-a-ramp-forcing-function/O_90.png)
绘制参数 a 取不同值时解的图形.
In[2]:=
![Click for copyable input](assets.zh/solve-an-ode-with-a-ramp-forcing-function/In_157.png)
Plot[Table[sol, {a, 1, 2, 0.3}] // Evaluate, {t, -1, 15},
Filling -> Axis]
Out[2]=
![](assets.zh/solve-an-ode-with-a-ramp-forcing-function/O_91.png)
结合斜坡与冲击力.
In[3]:=
![Click for copyable input](assets.zh/solve-an-ode-with-a-ramp-forcing-function/In_158.png)
sol = DSolveValue[{x''[t] + a^2 x[t] ==
Ramp[t - a] + DiracDelta[t - 2 a], x[0] == 0, x'[0] == 0}, x[t],
t, Assumptions -> a > 0] // FullSimplify
Out[3]=
![](assets.zh/solve-an-ode-with-a-ramp-forcing-function/O_92.png)
In[4]:=
![Click for copyable input](assets.zh/solve-an-ode-with-a-ramp-forcing-function/In_159.png)
Plot[Table[sol, {a, 1, 2, 0.3}] // Evaluate, {t, -1, 15},
Filling -> Axis]
Out[4]=
![](assets.zh/solve-an-ode-with-a-ramp-forcing-function/O_93.png)