不说什么,先上代码
这里先求解形如的微分方程
1.欧拉法
def eluer(rangee,h,fun,x0,y0):
step = int(rangee/h)
x = [x0] + [h * i for i in range(step)]
u = [y0] + [0 for i in range(step)]
for i in range(step):
u[i+1] = u[i] + h * fun(x[i],u[i])
plt.plot(x,u,label = "eluer")
return u
2.隐式欧拉法
def implicit_euler(rangee,h,fun,x0,y0):
step = int(rangee/h)
x = [x0] + [h * i for i in range(step)]
u = [y0] + [0 for i in range(step)]
v = ["null"] + [0 for i in range(step)]
for i in range(step):
v[i+1] = u[i] + h * fun(x[i],u[i])
u[i