首页 理论教育 Adams算法优化方案

Adams算法优化方案

时间:2023-06-30 理论教育 版权反馈
【摘要】:Adams算法就是设定系数a1=a2=…因此,Adams算法可简化为式中,p=k-1。Adams算法可进一步划分为显式算法和隐式算法。例5.2 推导三阶Adams-Bashforth数值积分公式。Adams法的隐式形式被称为Adams-Moulton法,其中b-1≠0,p=(k-2),其一般性表达式为根据第2个精确性约束条件式有写成矩阵形式为例5.3 推导三阶Adams-Moulton法。迭代算法需要设置合适的初始值以减少迭代次数,而显式Adams-Bashforth法常用来为隐式Adams-Moulton法提供初始值。这个过程通常称为“预测-校正”法,Adams-Bashforth法用于预测,Adams-Moulton法用于校正。

Adams算法优化方案

前面已讲过多步法的一般性表达式为

如果满足如式(5.51)和式(5.52)的精确性约束条件,那么对于次数小于或等于k的多项式xt),上述多步数值积分算法就能够给出xn+1的精确值。

式(5.51)的精确性约束条件通常被称为一致性约束条件,满足式(5.51)的多步数值积分算法被认为是“具有一致性的”。对于一个期望的次数为k的多项式,这些约束条件可以通过很多种方式来得到满足。通过预先定义一些系数之间的关系,可以导出几种不同类别的方法。Adams算法就是设定系数a1=a2=…=ap=0而导出的。在此条件下,由一致性约束条件可得系数a0=1。因此,Adams算法可简化为

式中,p=k-1。Adams算法可进一步划分为显式算法和隐式算法。显式算法,通常被称为Adams-Bashforth算法,首先设定系数b-1=0,然后应用第2个精确性约束条件式(5.52)得到

矩阵形式表示式(5.54)可得

当选定要求的k值后(相应地就选定了阶数p),通过式(5.55)可以求得剩下的系数bi

例5.2 推导三阶Adams-Bashforth数值积分公式。

解5.2k=3,得到如下线性方程组

解得

故三阶Adams-Bashforth数值积分公式为

当使用上述算法时,xnxn-1xn-2必须存储在内存中。(www.xing528.com)

Adams法的隐式形式被称为Adams-Moulton法,其中b-1≠0,p=(k-2),其一般性表达式为

根据第2个精确性约束条件式(5.52)有

写成矩阵形式为

例5.3 推导三阶Adams-Moulton法。

解5.3k=3,得到如下方程:

可解得

故三阶Adams-Moulton法可用下式表示:

实现此算法时,xnxn-1必须存储在内存中,且当fx)为非线性时,式(5.60)需通过迭代求解。

Adams-Moulton法是隐式的,必须采用Newton-Raphson法或其他类似的迭代方法进行求解,式(5.49)给出了Newton-Raphson法迭代的格式。迭代算法需要设置合适的初始值以减少迭代次数,而显式Adams-Bashforth法常用来为隐式Adams-Moulton法提供初始值。如果采用了足够高阶的预测算法,那么Ad-ams-Moulton法通常只需要一次迭代即可收敛。这个过程通常称为“预测-校正”法,Adams-Bashforth法用于预测,Adams-Moulton法用于校正。

实施多步法的另一个问题是最开始如何启动计算过程,因为高阶算法需要多个先值。通常的解决方法是使用高阶单步法,或随着已知先值的增加,增加多步法的阶数,直到产生的先值满足所采用的多步法的要求为止。

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

我要反馈