微分方程初值问题的数值解法,就是将一个连续的微分方程初值问题转化为一个离散的差分方程初值问题,然后通过解差分方程而获得其数值解。即:对自变量的一系列离散节点xk(k=0,1,2,⋯ ,n⋯ )x_k(k=0,1,2,\cdots,n\cdots)xk(k=0,1,2,⋯,n⋯),计算出去精确解y(xk)y(x_k)y(xk)的近似值yk(k=1,2,⋯ ,n,⋯ )y_k(k=1,2,\cdots,n,\cdots)yk(k=1,2,⋯,n,⋯),(其中y0y_0y0是准确值)从而得到函数y=y(x)y=y(x)y=y(x)的近似数值解yk(k=1,2,⋯ ,n,⋯ )y_k(k=1,2,\cdots,n,\cdots)yk(k=1,2,⋯,n,⋯)

关于微分方程解的存在性与惟一性,有下面的定理:
定理1:对于一阶常微分方程初值问题:
{
y′(x)=f(x,y)x∈[a,b]y(x0)=y0(1) \begin{cases} y'(x)=f(x,y) \quad x\in[a,b] \\ y(x_0)=y_0 \end{cases} \tag{1} {
y′(x)=f(x,y)x∈[a,b]y(x0)=y0(1)
如果f(x,y)f(x,y)f(x,y)对x连续,且关于y满足Lipschitz(李普希兹)条件,即存在常数L>0L>0L>0,使得
∣f(x,y1)−f(x,y2)∣≤L∣y1−y2∣ |f(x,y_1)-f(x,y_2)|\leq L|y_1-y_2| ∣f(x,y1)−f(x,y2)∣≤L∣y1−y2∣
对所有x∈[a,b]x\in [a,b]x∈[a,b]以及任何实数y1,y2y_1,y_2y1,y2均成立,则初值问题在[a,b][a,b][a,b]上有惟一解。
Euler(欧拉)方法
将微分方程(1)转化成差分方程,有几何方法、数值微分、数值积分和Taylor(泰勒)展开法等数值方法,这些方法将在推导微分方程的各种数值解法时得到具体运用。
1. 显示Euler格式
从导数的定义可知,当步长h=xn+1−xn→0h=x_{n+1}-x_n \to 0h=xn+1−xn→0时,有:
y′(x)=limΔx→0ΔyΔx=limΔx→0f(x+Δx)−f(x)Δx≅y(xn+1)−y(xn)xn+1−xn(2) y'(x)=lim_{\Delta x\to 0}\frac{\Delta y}{\Delta x}=lim_{\Delta x\to 0}\frac{f(x+\Delta x)-f(x)}{\Delta x}\cong \frac{y(x_{n+1})-y(x_n)}{x_{n+1}-x_n} \tag{2} y′(x)=limΔx→0ΔxΔy=limΔx→0Δxf(x+Δx)−f(x)≅xn+1−xny(xn+1)−y(xn)(2)
(2)式右边是导数的近似差商表示。因此,如果向前差商、向后差商和中心差商分别代替微分方程(1)中的导数项y′(x)y'(x)y′(x),则可相应地导出Euler方法的各种格式。
- 显示Euler格式
若用在xnx_nxn点的向前差商y(xn+1)−y(xn)xn+1−xn\frac{y(x_{n+1})-y(x_n)}{x_{n+1}-x_n}xn+1−xny(xn+1)−y(xn)代替微分方程(1)的导数项y′(xn)y'(x_n)y′(xn),当h=xn+1−xnh=x_{n+1}-x_nh=xn+1−xn很小时,则有:
y(xn+1)−y(xn)h=f(xn,y(xn)) \frac{y(x_{n+1})-y(x_n)}{h}=f(x_n,y(x_n)) hy(xn+1)−y(xn)=f(xn,y(xn))
若将y(xn)y(x_n)y(xn)的近似值yny_nyn代入上式右端,并将计算结果记为yn+1y_{n+1}yn+1,则有:
yn+1=yn+hf(xn,yn)(n=0,1,2,⋯ )(3) y_{n+1}=y_n+hf(x_n,y_n) \quad (n=0,1,2,\cdots) \tag{3} yn+1=yn+hf(xn,yn)(n=0,1,2,⋯)(3)
这样就得到了y(xn+1)y(x_{n+1})y(xn+1)的近似值yn+1y_{n+1}yn+1的递推格式,即所谓的显示Euler格式。
若给出初始条件y(x0)=y0y(x_0)=y_0y(x0)=y0,则按此(3)式可逐步算出y1,y2,⋯ ,y_1,y_2,\cdots,y1,y2,⋯,即:
y1=y0+hy0′=y0+hf(x0,y0)y2=y1+hf(x1,y1)⋯yn=yn−1+hf(xn−1,yn−1) y_1=y_0+hy_0'=y_0+hf(x_0,y_0) \\ y_2=y_1+hf(x_1,y_1) \\ \cdots \\ y_n=y_{n-1}+hf(x_{n-1},y_{n-1}) y1=y0+hy0′=y0+hf(x0,y0)y2=y1+hf(

探讨了微分方程初值问题的数值解法,包括显示Euler、隐式Euler、两步Euler及改进的Euler格式。详细介绍了各方法的原理、几何意义与精度分析。
方法 | 显示Euler格式、隐式Euler格式、两步Euler格式、改进的Euler格式&spm=1001.2101.3001.5002&articleId=107016974&d=1&t=3&u=c19dc0f3868e4a44a6cb540079aa8cf0)
8464

被折叠的 条评论
为什么被折叠?



