APP下载

一种基于牛顿迭代法的方程求根优化方法

2023-12-29吴承楷

中国新技术新产品 2023年22期
关键词:求根分点迭代法

吴承楷

(北京交通大学数学与统计学院,北京 100044)

牛顿迭代法又称为牛顿-拉夫逊方法,是牛顿提出的一种在实数域和复数域上近似求解方程的方法。17 世纪,航海、天文技术的日益兴盛推动了科学的进步,数学发展也迎来了全新时期,因此方程的求根问题成为数学家们关注的焦点。此时,数学家们热衷于寻找方程的严格按照公式给出的解(即解析解),韦达和卡尔丹等人在该领域做出了巨大贡献。然而随着对求根问题研究的深入,研究人员发现绝大多数方程都没有一般的解析解,只能通过逼近的方法去求近似解(即数值解),因此寻找精度较高的数值解开始成为方程求根的主流思想,牛顿迭代法就是在该思想基础上应运而生的。

步入现代,自然科学各领域的高速进步对方程求根问题的解答方式提出了全新要求,需要收敛速度更快的求根方法。许多中外研究人员在原牛顿迭代法的基础上改进了牛顿迭代法,并将其应用于已有的技术中[1]。国防科技大学电子科学学院的王佳奇等人提出了基于牛顿迭代法的全球卫星导航系统(GNSS)欺骗干扰参数估计方法,将牛顿迭代法和统计方法相结合,提高了参数估计的精度[2]。

1 牛顿迭代法

原始的牛顿迭代法在几何意义上是一个不断求取切线的过程。对于一个形如f(x)=0 的方程,先给出一个初始的近似值x0,然后得出f(x)在x0处的导数和函数值。再以该导数为斜率,以该函数值为函数上一点构造一个一次函数,并求其零点,设其为x1。最后重复上述步骤,直到求取到符合精度条件的零点值。牛顿迭代法是早期收敛速度较快的求根手段之一,而且可以证明当方程根处的导数值不等于0 时,牛顿迭代法至少是平方收敛的,和二分法相比,其收敛速度有显著提高。运算步骤如公式(1)所示。

式中:xk为前一次的近似迭代数值解;xk+1为在xk基础上迭代一次后得到的数值解;f(xk)为f(x)在xk处的值;f'(xk)为f(x)在xk处的导数值。

根据迭代函数的定义xk+1=φ(xk),可得迭代函数,如公式(2)所示。

2 中点牛顿迭代法

中点牛顿迭代法利用中点,将原来牛顿迭代法中分母上的f'(xk)改进为,具有加强收敛速度的效果,其运算步骤如公式(3)所示。

式中:xk+1*为xk经过一次预迭代后得到的中间值,其值如公式(4)所示。

3 三等分点牛顿迭代法(改进后的中点牛顿法)

3.1 原理和改进方法

在仔细学习了各种数值计算方法后,考虑中点牛顿迭代法选取了xk和xk+1*两等分点(即中点)处的导数值代替原有牛顿法中xk处的导数值,如果要使迭代步骤更精确,需要在该区间内选取更多的点,将囊括该方程的更多信息。因此,该文根据这种思路继续外推,考虑将xk和xk+1*中间的部分三等分,得到2 个三等分点,并分别计算2 个三等分点处的导数值,并取平均值,以此来代替中点牛顿迭代法中的。即对上述中点牛顿迭代法进行改进,提出一种新方法,命名为三等分点牛顿迭代法。

其具体原理是通过xk得出xk+1*后,继而选取xk和xk+1*之间等距离的2 个三等分点,分别求出它们的导函数,并取平均值,再带入原来迭代函数的分母中。具体运算步骤如公式(5)所示。

化简后如公式(6)所示。

式中:xk+1*为xk经过一次预迭代后得到的中间值;和分别为f(x)在括号内点上的导数值。

4 数值试验和误差分析

为了验证改进后的迭代法的迭代收敛速度,该文以如公式(7)所示的简单二次方程为例,以收敛法迭代求零点进行数值试验,来比较改进前、后算法的收敛性。

表1 数值试验一的过程

从表1 所示的数值试验中,该文对3 种牛顿迭代法进行了比较。可以看到,经过2 次迭代后,中点牛顿法和三等分点牛顿法均达到了要求的精度,而牛顿迭代法则进行了4 次迭代才达到要求。该文进一步提高精度要求,继续比较中点牛顿法和三等分点牛顿迭代法的收敛效果,见表2。

表2 数值试验二的过程

上述方程是一个简单的多项式方程,在实际生产应用中会碰到许多含有指数对数函数、三角或反三角函数的方程,这些方程统称为超越方程,它们的解无法通过多项式方程得到,其精确解也不能简单表示出来,只能通过如牛顿迭代法这样的方法来求近似解。如果对一个简单的超越方程ex+x=0 进行一个新的数值试验,使用三等分点牛顿迭代法和中点牛顿迭代法,可以得到类似的结果。三等分点牛顿迭代方法同样也能加快超越方程求根的收敛速度。

问卷主要由三部分构成。第一部分题为个人信息,其设置的主要内容是对问卷之后题目的填写效果的影响因素;第二部分题为水域现状,为获取填写者对平时看到的水域水质情况的直观感受评价,实证化探究“河长制”制度实施效用;第三部分题为实施情况,目的是采集填写者对现阶段“河长制”制度实施过程中出现的具有代表性和普遍性的不足与建议的相关看法与信息。

牛顿迭代法的精髓在于选取尽可能少但包括有关函数信息最多的点,中点牛顿迭代法只选取了中点一个点,但是该点所含的函数信息过少,因此迭代过程中获得的精确程度不够。当选取的点数目增多时,便可以使其包括更多有关方程的信息,因此可增加迭代获得的精确程度[3]。

5 等分点牛顿迭代法

根据上述三等分点牛顿迭代法的研究,同理还可将其迭代公式进一步推广至n等分点牛顿迭代法。如四等分点牛顿迭代法,如公式(8)所示。

式中:xk+1*为xk经过一次预迭代后得到的中间值。

其原理和三等分点牛顿迭代法类似,得到预迭代处理的xk+1*值后,取其和xk之间3 个四等分点处的导数值,再取平均值,其对数值解的收敛速度会比三等分点牛顿迭代法有进一步提高。

类似可以得出n等分点牛顿迭代法,如公式(9)所示。

式中:xk+1*为xk经过一次预迭代后得到的中间值。

6 应用意义

通过2 次数值试验,所得初步结论如下:1)中点牛顿迭代法和三等分点牛顿迭代法比最基本的牛顿迭代法有加速收敛的效果,在实际生产应用中可以起到一定的推动作用。2)三等分点牛顿法比中点牛顿法收敛速度更快,并可能有随着迭代次数增加,收敛速度进一步加快的趋势。三等分点牛顿迭代法的具体收敛速度需要根据收敛速度表达式进行进一步研究。3)将中点牛顿迭代法和三等分点牛顿迭代法的效果进行比较,可大胆猜测随着等分点的数量增加,迭代收敛速度会进一步加快,在具体的应用中可以取更多的等分点,以得到更快的收敛速度。不过具体结论还需要在进一步的试验中证明。另外,等分点数量每增加一个,每次迭代计算中就会增加一次求导运算,在实际应用中的反而效果不好。

改进后的牛顿迭代法能在各领域显著提高计算效率。该文将以水利方面的2 个经典方程计算问题为例,分别阐述改进后的牛顿迭代法在多项式方程和超越方程中的应用优势。

蓄水池和水库一直都是防洪水、保供水的重要设施。大型蓄水设施常常修建在山谷或落差较大的河流下游处,对当地的经济发展和生态环境具有重要的平衡作用。蓄水池的水位调整一直是非常重要的课题。水位需要根据实际情况进行调整,并始终保持在安全且合适的范围内,调整的依据则是水库入库流量、蓄水量和下泄流量之间的函数关系[6]。其基本方程式如公式(10)所示。

式中:Mi+1和Mi分别代表i+1 时刻和i时刻的蓄水池水容量;iqi和oqi分别代表i时刻入池和出池水流量;Mi代表初始蓄水池水容量。

根据上述隐式方程式确定迭代区间,然后从i=1 开始进行迭代,迭代出该时间点需要进行的泄洪量。由于每个时间点的泄洪量都会影响接下来水库的水量和后续计算,每步中累积的微小扰动都有可能在迭代次数增加后变为巨大的误差,因此迭代求根的精确性在这个例子中尤为重要。另外,由于方程中系数比较大,因此初始的迭代区间较难选取,采用原牛顿迭代法收敛速度较慢,而采用改进的牛顿迭代法则可加快收敛速度,效果更好。

改进的牛顿迭代法同样能显著提高灌注桩圆形截面受弯承载力的计算效率[7]。与蓄水池下泄洪量的计算相比,圆形截面受弯承载力的计算是一个复杂的超越方程,无法求得其具体的解析解。其基本方程如公式(11)所示。

式中:K为承载力安全系数;M为转弯扭矩设计值;fc为混凝土轴心抗压强度设计值;A为圆形截面面积;r为圆形截面半径;α为受压区混凝土对应的相对圆心角;fy为钢筋抗拉强度设计值;As为纵向钢筋截面面积;rs为截面半径。

通过整理公式(11)和其他确定已知的等量关系,可将方程转换为只含α(受压区混凝土对应的相对圆心角)的单变量方程,然后可应用改进后的牛顿迭代法求出α,其余变量也可求出。灌注桩可用于保护河岸。河岸常年受生物、波浪冲刷和船只撞击等外力作用,侵蚀现象非常普遍,如果不加以控制,会造成大量水土流失,间接导致岸基不稳,进而威胁河岸两边的住房安全。而在河岸边埋下灌注桩可以有效减少这类侵蚀的发生,起到保护河岸的作用。不同的河岸水文情况不同,需要通过试算选择最合适的灌注桩。而该过程普遍计算量比较大,改良的牛顿迭代法可以较好地加快计算速度。

7 结语

该文在牛顿迭代法衍生方法的基础上提出了一种改进的牛顿迭代法,能够实现一般方程数值解的加速逼近。数值试验的结果表明,在迭代次数较少时(小于等于3次),该迭代方法得到的数值解精度与使用中点牛顿迭代法得到的数值结果差距不大,但随着迭代次数增加,两者的精度开始有了明显的差距。因此,该文提出的三等分点牛顿迭代法在迭代次数较多的计算机算法中具有良好效果。目前工程技术上的计算和求解越来越依赖计算机,进一步提高了三等分点牛顿迭代法在实际应用中的有效性。

猜你喜欢

求根分点迭代法
迭代法求解一类函数方程的再研究
来自低谷的你
不可轻视求根公式
五禽戏“动作节分点”划分与学练建议(三)
切比雪夫多项式零点插值与非线性方程求根
迭代法求解约束矩阵方程AXB+CYD=E
预条件SOR迭代法的收敛性及其应用
求解PageRank问题的多步幂法修正的内外迭代法
“分点线三角形面积定理”的另证