本小节以一阶常微分方程为例,简单介绍常微分方程的数值解法。初值问题的一般形式是
若函数f(x,y)连续且y满足Lipschitz条件,则上述方程的解必定存在且唯一[3]。
求常微分方程的数值解法,首先要将微分方程离散化,一般采用以下几种方法:
(1)用差商近似导数。
若用向前差商代替y′(xn)代入式(3-1)中的微分方程,则得
化简得
y(xn+1)≈y(xn)+hf[xn,y(xn)]
如果用y(xn)的近似值yn代入上式右端,所得结果作为y(xn+1)的近似值,记为yn+1,则有
这样,式(3-1)的近似解可通过求解下述问题求得:
(2)用数值积分方法。
将式(3-1)的解表示成积分形式,用数值积分方法离散化。例如,对微分方程两端积分,得
用yn+1、yn代替y(xn+1)、y(xn),对右端积分采用取左端点的矩形公式,即
则由式(3-4)可得
yn+1-yn=hf(xn,yn)
于是式(3-1)的近似解可由以下公式求出:
(3)用Taylor多项式近似。
将函数y(x)在xn处展开,取一次Taylor多项式近似,则得再将y(xn)的近似值yn代入上式右端,所得结果作为以y(xn+1)的近似值yn+1,得到离散化的计算公式
y(xn+1)=y(xn+h)≈y(xn)+hy′(xn)=y(xn)+hf[xn,y(xn)](www.xing528.com)
yn+1=yn+hf(xn,yn)
以上三种方法都是将微分方程离散化的常用方法,每一类方法又可导出不同形式的计算公式。
1.欧拉法
欧拉法就是用差分方程初值问题
的解来近似微分方程初值式(3-1)的解,即由式(3-2)依次算出y(xn)的近似值yn(n=1,2…)。
2.向后欧拉法
如果在离散微分方程时,用向后差商近似导数,即
则得计算公式这就是向后欧拉法。
向后欧拉法与欧拉法形式上相似,但计算时却复杂得多。欧拉公式是显式的,可以直接计算。向后欧拉公式的右端含有yn+1,不能直接计算出yn+1,称为隐式公式,需要迭代求解。
3.梯形公式
利用数值积分方法求解离散微分方程时,如果用梯形公式计算式(3-4)中右端积分,即
并用yn、yn+1代替y(xn)、y(xn+1),得求解初值式 (3-1)的梯形公式
梯形公式也是隐式公式,需用迭代法求解,迭代格式为
4.改进欧拉法
先用欧拉公式求yn+1的一个初步近似值,称为预测值,然后用梯形公式校正求得近似值yn+1,即
该方法为显式单步法。为便于编制程序上机,式(3-9)常改写成
除上述几种方法外,还有其他一些常用的数值求解方法,如三阶龙格-库塔法、四阶龙格-库塔法、变步长龙格-库塔法和多种线性多步法,请读者参考其他资料。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。