在利用某种数值计算方法由u1,u2,…,un逐步递推的过程中,每一步产生的误差都会积累在一起。在xn处的误差为u(xn)-un,称为整体截断误差。整体截断误差由此前每一步的误差以及误差之间的传递关系决定,分析它是极为复杂的。所以为了简化问题,只考虑局部的情况。那么假设u(xn)=un,由xn开始计算一步的误差为u(xn+1)-un+1,此即为局部截断误差。若某种数值计算方法的局部截断误差为O(hp+1),则称该方法的精度为p阶。
下面分析欧拉法、后退的欧拉法、二步欧拉法的精度。
(1)对于欧拉法:
un+1=un+hf(xn,un) (1-9)
假设un=u(xn),并利用u′(x)=f(x,u):
un+1=u(xn)+hu′(xn) (1-10)
用泰勒公式将u(xn+1)在xn处展开:
u(xn+1)=u(xn)+hu′(xn)+O(h2) (1-11)
上两式相减:
u(xn+1)-un+1=O(h2) (1-12)
所以,欧拉法的精度为1阶。
(2)对于隐式欧拉法:
un+1=un+hf(xn+1,un+1) (1-13)
假设等号右边有un=u(xn)、un+1=u(xn+1),并利用u′(x)=f(x,u):
un+1=u(xn)+hu′(xn+1) (1-14)
将上式中的u′(xn+1)在xn处做泰勒展开:(www.xing528.com)
un+1=u(xn)+h[u′(xn)+O(h)]=u(xn)+hu′(xn)+O(h2) (1-15)
将u(xn+1)在xn处泰勒展开:
u(xn+1)=u(xn)+hu′(xn)+O(h2) (1-16)
前两式相减:
u(xn+1)-un+1=O(h2) (1-17)
则:隐式欧拉法的精度为1阶。
(3)对于二步欧拉法:
un+1=un-1+2hf(xn,un) (1-18)
假设有un=u(xn)、un-1=u(xn-1),并利用u′(x)=f(x,u):
un+1=u(xn-1)+2hu′(xn) (1-19)
将上式中的u(xn-1)在xn处泰勒展开:
将u(xn+1)在xn处泰勒展开:
前两式相减:
u(xn+1)-un+1=O(h3) (1-22)
那么,二步欧拉法的精度为2阶。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。