请帮我写一段 用欧拉法求初值问题的数值解 的python代码
时间: 2024-05-04 10:16:39 浏览: 171
初等数论中求欧拉函数值程序
好的,下面是使用欧拉法求解初值问题的Python代码:
```python
import numpy as np
import matplotlib.pyplot as plt
def euler(f, u0, t):
n = len(t)
u = np.zeros(n)
u[0] = u0
for i in range(n-1):
u[i+1] = u[i] + f(u[i], t[i]) * (t[i+1]-t[i])
return u
# 定义初值问题
def f(u, t):
return u**2 - 2*u
u0 = 1
t = np.linspace(0, 5, 101)
# 使用欧拉法求解初值问题
u = euler(f, u0, t)
# 绘制数值解的图像
plt.plot(t, u, label="Numerical Solution")
# 绘制真实解的图像
u_true = 2*np.exp(t)/(1+np.exp(t))
plt.plot(t, u_true, label="True Solution")
plt.legend()
plt.show()
```
以上代码实现了使用欧拉法求解初值问题,并将数值解与真实解作图进行比较。
阅读全文