用Python 求,已知微分方程dx/dt=x-2y,dy/dt=x+2y,x(0)=1, y(0)=0 求出微分方程的符号解,并分别画出x(t)与y(t)(t∈[0,1]的解曲线
时间: 2024-02-18 20:05:16 浏览: 188
根据已知微分方程:
首先求解特征方程:
λ^2 - 4 = 0
得到 λ1 = 2, λ2 = -2
因此,通解可以表示为:
x(t) = c1 * e^(2t) + c2 * e^(-2t)
y(t) = c3 * e^(2t) + c4 * e^(-2t)
为了求出 c1, c2, c3 和 c4,需要使用初始条件:
x(0) = 1, y(0) = 0
代入可得:
c1 + c2 = 1
c3 + c4 = 0
解得:c1 = 0.5, c2 = 0.5, c3 = -0.5, c4 = 0.5
因此,符号解可以表示为:
x(t) = 0.5 * e^(2t) + 0.5 * e^(-2t)
y(t) = -0.5 * e^(2t) + 0.5 * e^(-2t)
接下来,我们可以使用 Python 中的 matplotlib 库画出 x(t) 和 y(t) 的解曲线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义微分方程
def f(t, y):
x, y = y
return [x - 2 * y, x + 2 * y]
# 定义初始条件
y0 = [1, 0]
# 使用 scipy.integrate.solve_ivp 求解微分方程
sol = scipy.integrate.solve_ivp(f, [0, 1], y0, t_eval=np.linspace(0, 1, 1000))
# 取出解
x = sol.y[0]
y = sol.y[1]
# 画图
plt.plot(sol.t, x, label='x(t)')
plt.plot(sol.t, y, label='y(t)')
plt.legend()
plt.show()
```
运行以上代码即可得到 x(t) 和 y(t) 的解曲线。
阅读全文