首页 理论教育 微分方程的数值算法优化方法

微分方程的数值算法优化方法

时间:2023-06-22 理论教育 版权反馈
【摘要】:本小节以一阶常微分方程为例,简单介绍常微分方程的数值解法。求常微分方程的数值解法,首先要将微分方程离散化,一般采用以下几种方法:用差商近似导数。将式(3-1)的解表示成积分形式,用数值积分方法离散化。

微分方程的数值算法优化方法

小节以一阶常微分方程为例,简单介绍常微分方程的数值解法。初值问题的一般形式是

若函数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)常改写成

除上述几种方法外,还有其他一些常用的数值求解方法,如三阶龙格-库塔法、四阶龙格-库塔法、变步长龙格-库塔法和多种线性多步法,请读者参考其他资料。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈