目录
1、概述
Euler方法就是用直线近似来求解微分方程的方法。Euler方法知识点、数值分析的点点滴滴总结得特别棒。我们这里直接上代码。
2、代码
import numpy as np
import matplotlib.pyplot as plt
def funEval(x,y):
#fxy = (x*y-y**2)/x**2
fxy=2*y/x+x**2*np.e**x
return fxy
def funtrue(x):
# ft=x/(0.5+np.log(x))
ft=x**2*(np.e**x-np.e)
return ft
def Euler(a,b,f,y0,n):
h=np.abs(b-a)/(n-1)
y=np.zeros((n,1))
x=np.zeros((n,1))
y[0] =y0
x[0] = a
for i in range(1,n,1):
x[i]=a+i*h
y[i]= y[i-1]+h*f(x[i-1],y[i-1])
return x,y
def ModEuler(a,b,f,y0,n):
h=np.abs(b-a)/(n-1)
y=np.zeros((n,1))