修正牛顿法

合集下载

牛顿迭代法

牛顿迭代法

牛顿迭代法李保洋数学科学学院信息与计算科学学号:060424067指导老师:苏孟龙摘要:牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法,即牛顿迭代法.迭代法是一种不断用变量的旧值递推新值的过程.跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“牛顿迭代法”属于近似迭代法,本文主要讨论的是牛顿迭代法,方法本身的发现和演变和修正过程,避免二阶导数计算的Newton迭代法的一个改进,并与中国古代的算法,即盈不足术,与牛顿迭代算法的比较.关键词:Newton迭代算法;近似求解;收敛阶;数值试验;中国古代数学;九章算术;Duffing方程;非线性方程;收敛速度;渐进性0 引言:迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“二分法”和“牛顿迭代法”属于近似迭代法.迭代算法是用计算机解决问题的一种基本方法.它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值.具体使用迭代法求根时应注意以下两种可能发生的情况:(1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制.(2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败.所以利用迭代算法解决问题,需要做好以下三个方面的工作:1、确定迭代变量.在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量.2、建立迭代关系式.所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系).迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成.3、对迭代过程进行控制,在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题.不能让迭代过程无休止地重复执行下去.迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定.对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件.1牛顿迭代法:牛顿迭代法(Newton method)又称为牛顿-拉夫逊方法(Newton-Rapfson method ),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法.多数方程不存在求根公式,因此求精确根非常困难甚至不可能,从而寻找方程的近似根就显得特别重要.方法使用函数()f x 的泰勒级数的前面几项来寻找方程()0f x =的根.牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程()0f x =的单根附近具有平方收敛性,而且该法还可以用来求方程的重根、复根.另外该方法广泛用于计算机编程中:解非线性方程()0f x =的牛顿(Newton )法是把非线性的方程线性化的一种近似方法.把()f x 的0x 点附近展开泰勒(Taylor )级()()()()()()''20'00002!f x f x f x f x x fx x x =+-+-+;取其线性部分作为非线性方程()0f x =的近似方程,则有:()()()'0000f x f x x x +-=;设()'00f x ≠,则其解为:()()0'100f x x x f x =-;再把()f x 在1x 附近展开泰勒(Taylor )级数,也取其现行部分作为()0f x =的近似方程.若()'10f x ≠,则得:()()1'211f x x x f x =-;这样,得到牛顿(Newton )法的一个迭代序列:()()'1n n n n f x x x fx +=-;牛顿迭代有十分明显的几何意义,如图所示:当选取初值0x 以后,过()()00,x f x 做()f x 的切线,其切线方程为:()()()'000y f x f x x x -=-;求此切线方程和x 轴的交点,即得:()()'1000x x f x f x =-;牛顿法正因为有这一明显的几何意义,所以也叫切线法. 例:用牛顿法求下面方程的根()32210200f x x x x =++-=; 解:因()'23410f x x x =++,所以迭代公式为:()()3221210203410n n x x x x x x x +=-++-++;选取01x =计算结果列表:从结果可以看出,牛顿法的收敛是很快的,5x 误差1510-.但用牛顿法计算工作量比较大,因每次计算迭代除了计算函数值外还要计算微商值.为此我们提出了简化牛顿法:其公式为()()'10n n n x x f x f x +=-;用上面的公式计算,不再需要每步重新计算微商值,所以计算量小一些,但收敛也要慢一些.为了避免计算导数还可以采用差商代导数的方案:()()()()111n n n n n n n f x x x x x f x f x +--=---;关于牛顿迭代的收敛有下面结果:如果()f x 在零点附近存在连续的二阶微商,ξ是()f x 的一重零点,且初始0x 充分接近于ξ,那么牛顿迭代是收敛的,且有()()()2'''1/2n n x f f x ξξξξ+-≈•-;这表明牛顿法是二阶收敛的(平方收敛的).最后考虑()f x 是多项式的特殊情况,此时()f x ,()'f x 在某个x 值,比如x c =时的计算可用综合除法.设 ()111n n n n f x ax a x a x a +-=+++,除以x c -,得商()q x ,余r :()()()f x q x x c r =-+; (1) 其中:()120121n n n n q x b x b x b x b ----=++++;()n r b f c ==;比较(1)式两边k x 的系数便知这些k b 可以按下表进行:这一过程其实就是秦九韶算法,计算多项式值的嵌套算法:()()()()121n n f c aa c a c c a c a -=+++++;每个括号的值就是这里的0n b b .至于导数的计算,注意到(1)式可得:()()()()''f x q x q x x c =+-;于是:()()'f c q c =;因此再对0n b b 进行上述过程,或者再用一次秦九韶算法即可.2一种修正的牛顿迭代法:给出了牛顿迭代法的一种修正形式,并证明了当1/2r ≠时修正的牛顿迭代法是二阶收敛的,当参数1/2r =时是三阶收敛的,数值实验表明,与经典牛顿迭代法相比,该修正牛顿迭代法具有一定的优势.众所周知,数值求解非线性方程()0f x =的根的方法很多.经典的牛顿迭代法是非线性方程组求根的一个基本方法,它二次收敛到单根,线性收敛到重根.牛顿法因收敛速度快而得到广泛应用,也倍受学者的重视,近年来很多文献中提出各种改进的牛顿方法.文献[8]中利用Newton 迭代法和微分中值定理“中值点”的渐进性,提出了一种多点迭代法.设()f x 满足下述条件:()[]2,f x c a b ∈,()()0f a f b <; ()'0f x ≠, ()''f x 在[,]a b 上保号. (A)根据微分中值定理,存在(,)a b ξ∈,使得:()()()'f b f a f b a ξ-=-,而1lim 2b a a b a ξ→-=-.因此,当b 与a 的距离无限接近时有:()12a b a ξ≈+-.也就是说,在区间(,)a b 不甚大时,中值点ξ一定在其渐近位置 ()12a b a ξ≈+-附近,并随区间变小而趋于其渐近位置.图所示迭代法构造图本方案基于上述考虑,给出一种通过迭代点选取另一个点,利用两个点进行迭代求近似根的新方法.这种方法虽然在迭代中又只利用了一个其它点,但其计算精度却相当高,它的某一种特殊情形恰是通常的Newton 迭代法.为了更加直观起见,我们通过几何直观图来构造这种迭代法.设()f x 满足条件(A ),当选定初值0x(仅要求()()"00f x f x ⋅>),如图所示,作交点的切线交x 轴于B ()()00'0,0f x x f x ⎛⎫- ⎪ ⎪⎝⎭,AQ 线段的斜率为:()()()()()000'0000'0f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭⎛⎫-- ⎪⎝⎭.由微分中值定理知,存在()()000'0,f x x x f x ξ⎛⎫∈- ⎪ ⎪⎝⎭使得:()()()()()()000'0'0000'0f x f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭=⎛⎫-- ⎪⎝⎭;而()()()()0000''0012f x f x x x f x f x ξ⎛⎫≈-+- ⎪ ⎪⎝⎭,因此,我们取数1,12r ⎛⎫∈ ⎪⎝⎭,在点()()()()()()0000''001,1f x f x P x r f x r f x f x ⎛⎫⎛⎫---- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭作切线PC ,图中AD 平行于PC .即用点P 的导数()()()0'0'01f x f x r f x ⎛⎫-- ⎪ ⎪⎝⎭代替点A 的导数,而仍用点A 的迭代格式得到点D 的坐标()()()()00'00'0,01f x D x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫⎪-- ⎪ ⎪⎝⎭⎝⎭;重复上述过程,得到多点迭代公式()()()()1''1k k k k k k f x x x f x f x r f x +=-⎛⎫-- ⎪⎝⎭; (2)其中[,]k x a b ∈,1,2,3,k =.下面我们对上述事实,从理论上加以严格证明.定理 设()f x 满足条件(A ),则由多点迭代公式(1)产生的序列{n x }必收敛于[,]a b 上的唯一a ,这里[],n x a b ∈,()0f a =.证明 函数()f x 在上连续,由连续函数根的存在定理,从()()0f a f b <知道()f x 在[],a b 上根存在,又由条件()'0f x ≠及()''f x 保号知道,()'f x 在[],a b 上不变号,故()f x 在[],a b 上是单调函数,因此()f x 在[],a b 上根a 存在且唯一.由定理条件曲线()y f x =可有如下四种不同情况:(1) ()()()"0,0,0f a f b f x <>>,则()'f x 单调上升,()()''0f a f b >; (2) ()()()"0,0,0f a f b f x <>>,则()'f x 单调下降,()()''0f a f b >;(3) ()()()"0,0,0f a f b f x ><>,则()'f x 单调上升, ()()''0f a f b <; (4) ()()()"0,0,0f a f b f x ><<,则()'f x 单调下降,()()''0f a f b <. 通过对自变量的变号或对函数的变号可将四种情况归结为一种情况,所以我们只需对情况(一)证明迭代过程(1)收敛就可以了.若初值[]0,,,n x a b x a ∈>所以()00f x >,故有()()()()0100'00'01f x x x x f x f x r f x =-<⎛⎫-- ⎪⎝⎭;()()()()()()()()()()()()()()()''0001000'''000000'''000111f x f a f x a f x a x x x x f x f x f x f x r f x r f x r f x f x f x ξξ+--=-=-=-⎛⎫⎛⎫⎛⎫------ ⎪⎪⎪⎝⎭⎝⎭⎝⎭;一方面,()0.a x ξ∈,且()()'00f x f x a =-.下证()()()()0''0'01f x f x f x r f x ⎛⎫<-- ⎪ ⎪⎝⎭.若()()()()0''0'01f x f x f x r f x ⎛⎫>-- ⎪ ⎪⎝⎭,由()'f x 的单调性有,x ,()()()00'01f x x r f x ξ--<,又因为()()()()()0000''001f x f x x r x f x f x -->-,因此有()()()0''0'0f x f x f f x ξ⎛⎫-< ⎪ ⎪⎝⎭,与Newton 迭代法的收敛性矛盾.由(一)的假设及()()()()0''0'01f x f f x r f x ξ⎛⎫<-- ⎪ ⎪⎝⎭可得: ()()()()()()'01000'00'01f x a x x x x a a f x f x r f x ξ-=->-=⎛⎫-- ⎪⎝⎭;一般地,若n x a =,同样可以证明由式(2)得到的1n x +满足1n n a x x +<<.所以由式(1)产生的迭代序列{n x }单调下降且有下界.依极限理论必有极限.对式(2)两边取极限,由极限理论可以求得()'0f a =.再由()'0f x ≠,[],n x a b ∈,可知函数方程()0f x =在[],a b 上的根是唯一的,因此有'a a =.当1r =时,式(2)即为Newton 迭代公式.本文给出的这种多点迭代方法不仅可以被广泛应用于方程的近似求根,更重要的是它为人们提供了一种新的迭代思想,拓宽人们在方程近似求根方面的思路.例 计算()3250f x x x =--=在(2,3)区间内的一个实根.我们已知()0f x =有一个精确到十二位有效数字的实根 2.09455148154a =. 取03x =,以Newton 迭代法计算(记作1n x ),取03x =, 12r =以式(1)计算(记作2n x ),其结果列表如表1.行三次迭代就已得满足精度要求的值了,而Newton 迭代法需迭代5次才可得到满足精度要求的值.式(2)可以被广泛应用,特别是编成数学软件后,用计算机求解方程近似根效果会更加显著.3另外一种牛顿迭代法的修正:Newton 迭代法是方程求根的一种简单而直观的近似方法,但在实际运用中,我们常常觉察到,这种方法仅仅是利用了迭代点及该点的导数值,而没有充分利用其他点及其导数值.是否存在可利用的点,这些点我们应怎样确定.文[1]给出了一种方法,但这种方法求根的关键在适当地选取0x 和r 或n r .选取不适当,就会出现某次迭代的值不是迭代序列中的值.因此,我们会问这些值特别是0x 能否不依靠人为选取,而通过迭代点来选取,本文将利用Newton 迭代法和微分中值定理“中值点”的渐近性,来寻找除迭代点以外的可利用点,给出一种多点迭代方法.设()f x 满足下述条件:()[]()()2,,0f x c a b f a f b ∈<;()()'''0,f x f x ≠在[],a b 上保号. (A)根据微分中值定理,存在(),a b ξ∈,使得()()()'f b f a f b a ξ-=-而1lim 2b a a b a ξ→-=-.因此,当b 与a 的距离无限接近时有:()12a b a ξ≈+-.也就是说,在区间(),a b 不甚大时,中值点ξ一定在其渐近位置()12a b a ξ≈+-附近,并随区间变小而趋于其渐近位置.本方案基于上述考虑,给出一种通过迭代点选取另一个点,利用两个点进行迭代求近似根的新方法.设()f x 满足下列条件(A):(1) ()f x 在区间在区间[],a b 上存在二阶导数; (2) ()'f x 在[],a b 上不等于零; (3) ()''f x 在[],a b 上不变号; (4) ()()0f a f b <;为了更为直观,我们通过几何直观图来构造多点迭代法.设()f x 满足条件(A),当选定初值0x (仅要求()()''00f x f x >),如图所示:做A 点的切线交X 轴于B ()()00'0,0f x x f x ⎛⎫- ⎪ ⎪⎝⎭,AQ 线段的斜率为:()()()()()000'0000'0f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭⎛⎫-- ⎪⎝⎭;由微分中值定理知,存在()()000'0,f x x x f x ξ⎛⎫∈- ⎪ ⎪⎝⎭使得: ()()()()()()000'0'0000'0f x f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭=⎛⎫-- ⎪⎝⎭;而()()()()0000''0012f x f x x x f x f x ξ⎛⎫≈-+- ⎪ ⎪⎝⎭,因此,我们取数1,12r ⎛⎫∈ ⎪⎝⎭,在点()()()()()()0000''001,1f x f x P x r f x r f x f x ⎛⎫⎛⎫---- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭作切线PC ,图中AD 平行于PC .即用点P 的导数()()()0'0'01f x f x r f x ⎛⎫-- ⎪ ⎪⎝⎭代替点A 的导数,而仍用点A 的迭代格式得到点D 的坐标()()()()00'0',01k k f x D x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫ ⎪-- ⎪ ⎪⎝⎭⎝⎭; (3)主要对(3)式的分子()k f x 用()k f x 与()()()()''1k k k k k f x f x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫⎪-- ⎪ ⎪⎝⎭⎝⎭的和代替,这样就得到新的迭代公式:()()()()()()()()''1''11k k k k k k k k k k k f x f x f x f x f x r f x x x f x f x r f x +⎛⎫ ⎪⎪+-⎪⎛⎫ ⎪-- ⎪ ⎪⎝⎭⎝⎭=-⎛⎫-- ⎪⎝⎭; (4) 如果令 ()()()()'1k k f x u x x r f x =--;()()()1'k k k kf x x w x x f u +==-;则: ()()111'k k k f x x x f u x -+-++⎛⎫⎪⎝⎭=-; 从而可知(4)式中迭代函数为:()()()()()()'f w x x w x f w x Φ=-;引理1[5] 对于迭代公式()1k k x x +=Φ,如果p Φ在所求的根*x 的邻近连续并且:()()()()1'*''**0p x x k x +Φ=Φ==Φ=,()()*0px Φ≠,则该公式在*x 的邻近是p 阶收敛的.定理1 设方程()f x 的根为*x ,函数()f x 在*x 的的邻域内有至少四阶连续导数,且()'0f x ≠,则迭代公式(4)在的*x 邻近至少是三阶收敛的.证明 迭代公式(4)的迭代函数为:()()()()()()'f w x x w x f w x Φ=-,其中()()()'k k k f x w x x f u =-,由于方程()f x 的根为*x 所以()*0f x =,从而可知()**w x x =,()'*0w x =;()()()()()()'*'*''*3''*f x u x w x f u x =对()x Φ求导数得:()()()()()()()()()()()()()()()'''''"''''*2''0f w x w x f u x f w x f u x u x x w x x f u x -Φ=-⇒Φ=; 同理可得:()()()()()()'"'"*''*''*0x x x w x w x Φ=Φ⇒Φ=-=.由引理知迭代公式(4)在*x 邻近至少是三阶收敛的.引理2([4]) 假设函数()f x 在区间[],a b 上存在二阶导数,且满足下列条件(1) ()'f x 在[],a b 上不等于零;(2) ()''f x 在[],a b 上不变号;(3) ()()0f a f b <;(4) 设[],x a b ∈,且满足条件()()"0f x f x >;则由Newton 迭代法()()'10n n n x x f x f x +=-得到的序列{}n x 收敛于()0f x =的惟一根*x .定理2 假设函数()f x 在区间[],a b 上存在二阶导数,且满足下列条件(1) ()'f x 在[],a b 上不等于零;(2) ()''f x 在[],a b 上不变号;(3) ()()0f a f b <;(4) 设[],x a b ∈,且满足条件()()"0f x f x >.则由多点迭代公式(4)得到的序列{}n x 收敛于()0f x =的惟一根*x .证明 函数()f x 在[],a b 上连续,由连续函数根的存在定理,从()()0f a f b <知道()f x 在[],a b 上根存在,又由条件()'0f x ≠及()"f x 的保号性知道,()'f x 在[],a b 上不变号,故()f x 在[],a b 上是单调函数,因此()f x 在[],a b 上的根*x 存在且惟一. 由定理条件,曲线()y f x =可有如下四种不同情况:(a) ()()()"0,0,0f a f b f x <>>,则()'f x 单调上升,()()''0f b f a ≥>;(b) ()()()"0,0,0f a f b f x <><,则()'f x 单调下降,()()''0f a f b ≥>;(c) ()()()"0,0,0f a f b f x ><>,则()'f x 单调上升,()()''0f a f b ≥<;(d) ()()()"0,0,0f a f b f x ><<,则()'f x 单调下降,()()''0f b f a ≥<.通过对自变量的变号或对函数的变号可以将四种情况归结为一种情况,所以我们只需对其中一种情况证明迭代过程(4)是收敛的就可以了.下面仅就情况(a)证明定理2,其余情况的证明类似.对情况(a)来说此时()0f x =在[],a b 上的根存在且惟一,且()f x 在[],a b 上单调递增.首先证明,对任何初始近似()*,x x b ∈,由迭代公式(4)求出的逐次近似k x 都属于()*,x b ,并且单调递减. 事实上,由引理2的证明我们可知,只要()()()()()*'1,k k k k f x u x x r x b f x =--∈,就有()*1,k x x b -+∈,即()1k k k x u x x -+<<,再由(3)式得11k k x x -++<,另一方面(3)式可化为: ()()()()()()()()()*''1*****11111'''1k k k k k k k k k f x f x f f x x x x x x x x x x f u x f u x f u x ξξ-+----+++++⎛⎫- ⎪⎛⎫⎛⎫⎛⎫⎝⎭-=--=---=-- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭; 其中()()**11,,k k x x x u x ξ-+⎛⎫∈⊂ ⎪⎝⎭.由()'f x 单调递增且()'0f x >知()()()''1k f f u x ξ<,故*10k x x -+->因而由(4)式产生的序列{}n x 单调递减并有下界,故lim n n x →∞存在.设lim n n x x -→∞=,(4)式两边当k →∞时求极限得: ()()_____'_'____'_'101f x f x f x f x f x r f x x x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+- ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭=-=⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭; ()()_____'_'__'_'11f x f x f x f x f x r f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+- ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭; 可知 ()_____'_'01f x f x f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+-= ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭; ()()___*__'_',,1f x x x x b f x f x r f x ⎛⎫ ⎪⎝⎭-∈⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭,()f x 在[],a b 上单调递增,且()*0f x =所以:()_____'_'0,01f x f x f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪=-= ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭;因此得:*x x -=. 本方法代方法比Newton 和文[4]的迭代法的收敛速度明显要快,而且对于1,12r ⎡⎤∈⎢⎥⎣⎦,r 越大效果越差!对于例1,用MATLAB 程序运算格式(4),当12r <时,在*0k x x →=之前迭代格式会产生负值.所以,格式(4)的收敛速度和r 的选取有关. 对于定理2中的四个条件,在MATLAB 中通过简单的程序即可验证.4 中国古代算法盈不足术与牛顿迭代算法的比较:首先介绍 盈不足术 九章算术中的第七章是盈不足术,这是求解方程的一种最古老的方法.为了说明该方法的基本思想,我们考虑该章的第一个例子:今有共买物,人出8,盈3;人出7,不足4,问人数、物价各几何?其求解过程为(见图1):(1) 把出率(8)和(7)放在第一行;(2) 把盈数(3)和不足数(4)放置在出率下面;(3) 计算维积(交差积)得(32)和(21),得和为(53);(4) 盈减去不足数为431-=;(5) 从而得物价为53531=; 用现代数学的观点,盈不足术可表示为:设1x 和2x 为两个近似物价,1R 和2R 分别表示为盈或不足数,则物价为:211212x R x R x R R -=-;人数为1212R R y x x +=-;正如白尚恕[7]指出的那样,在隋唐(581~618年AD )盈不足术在中东被广泛流传,最早的阿拉伯算术书是由al-Khowarizmi 在公元825年写的,英文中的算术一词(algorithm)来自他的名字,他应该对九章算术和其他古代中国巨著很了解,并把盈不足术称为中国方法.Khitai 指China ,类似的写法有Khatai ,Chatayn ,Chataain 等等.普遍认为中国算法是通过古代著名的意大利数学家Leonardo Fibonacci(1170?~1250?年)传给西方的,据记载Fibonacci 随他父亲周游了埃及、西西里、希腊和叙利亚,这次周游使他接触了东方和阿拉伯的计算方法.在1202年,即他回家后不久他就出版了著名的《算经Liber Abaci 》.该书也介绍了盈不足术,并把这种方法称为中国规则,这个名字来自中东,在那里中国算法称为Hisabl-Chatin ,里Chation 指China 该书中的一些例子和算法和中国古代数学巨著完全一样.如在4世纪的孙子算经:今有物不知其数,三三数之胜二,五五数之胜三,七七数之胜二,问物几何?该问题的解题方法就是数论中的中国余数定理:在Fibonacci 的《算经》中阿拉伯语DeRegulisel-Chatavn 被译成拉丁文DuarumFalsdrumPosicionumRegula 所以在西方这种方法被称作双假定方法,这实际上是九章算术中的盈不足术,即中国算法,它起源于中国是毫无疑问的,这正如钱宝琮[8]指出的那样可惜的是很多西方人认为这种方法起源于印度,并被阿拉伯人所掌握所以本作者强烈建议把双假设法改称为中国算法或中国方法.中国算法与牛顿迭代算法考虑方程()'0f x =设12,x x 为方程的两个近似解,于是我们得残量()1f x 和()2f x 应用中国算法,我们可得()()()()2112312x f x x f x x f x f x -=-; (5) 在九章算术中给出了在下列情况下的一些不等式:(1)双盈,即()10f x >和()20f x >(2)双亏,即()10f x <和()20f x <;(3)一盈一亏,即()()120f x f x ⋅<;上述算法可以根据不等式的性质确定更合适的两个数()12,x x 或()23,x x ,再进行计算定更精确的近似解,为了与牛顿迭代算法比较,我们把(5)写成如下形式:()()()()()()()()2112112311212x f x x f x f x x x x x f x f x f x f x --==---; 如果引入导数()'1f x ,它定义为()()()12'112f x f x f x x x -=-;那么我们马上可得:()()11'1f x x x f x =-; 这就是著名的牛顿迭代法,当两个近似值1x 和2x 位于真解的两侧时,即()()120f x f x ⋅<,中国算法比牛顿迭代算法具有很大的优势,牛顿迭代算法可以更进一步的优化发展,可参考文献[10,11].中国算法的改进:中国算法可以看成是通过两个近似解的线性近似方法,见图2为了提高中国算法的精度,我们用三点()123,,x x x ,而不用两点()12,x x ,用抛物线拟合该曲线,我们得近似解为:()()()()()()123213321121321233231x f f x f f x f f x f f f f f f f f f f f f =++------; 式中()i i f f x =;综合概述:迭代算法是一种用途非常广泛的方法,本文不仅介绍了这个方法很好的诠释这个方法, 而且做了牛顿迭代法的两种修正,更做了牛顿迭和与中国古代算法的比较,不仅试读者更好理解了这个方法,更开阔了读者的视野,使读者更能留下研究的空间.参考文献:[1] 徐萃薇,孙绳武.计算方法引论(第三版)[M].北京:高等教育出版社,2007.[2] 龙爱芳.避免二阶导数计算的迭代法[J].浙江工业大学学报,2005, 33(5):602~604.[3] 李庆扬,王能超.数值分析[M].武汉:华中科技大学出版社,1986.[4] 张新东,王秋华.避免二阶导数计算的Newton迭代法的一个改进[J].山东大学学报,2007,42(7):72~76.[5] 何吉欢.盈不足术与牛顿迭代算法的比较[J].应用数学和力学,2002,23(12):1256~1259.[6] 王晓峰.一种修正的牛顿迭代法[J],2010,33(1)长春理工大学学报,178~179.[7] 白尚恕.九章算术注释[M].北京:科学出版社,1983.[8] 钱宝琮.中国数学史[M].北京:科学出版社,1992.[9] 陈新一.一种多点迭代方法[J].甘肃教育学报(自然科学版),2001,15(1):13~16.[10]HeJi-huan.Improvement of Newton interation menthod [J].International Journal of Nonlinear Science and Numerical Simulation 2000,1(3):239~240.[11]HeJi-huan.Newton-like iteration menthod for solving algebraice quations[J]. Communication NumSimulation,1998,3(2):106~109Newton iterationLI Bao YangMathematical Sciences Information and Computing Science NO:060424067Instructor :SU MenglongSummary:In the 17th century,Newton introduced a method of solve equations approximately in real number domain and complex domain,that is Newton Iteration,a process of recursion new value constantly with the old value of variable. Correspond with the Iterative Method is A Direct Method or as A Solution,that is a one-time problem solving. Iteration is divided into exact iterative and approximate iterative. "Newton Iterative Method" is belong to approximate iterative methods. This article mainly focuses on the Newton Iteration. The main contents of this article include the discovery,evolution and amendment process of this methods; an improve of avoiding calculating Newton Iteration with second-order derivative; the comparison of the Chinese ancient algorithm---Yingbuzu Method and Newton Iterative Algorithms. Keywords: Newton Iterative Algorithm; approximate solution; order of convergence; numerical experimentation; Arithmetic in Nine Section ; Duffing Equation; Nonlinear equations; Convergence rate; Progressive。

用牛顿迭代法求方程的近似解课件

用牛顿迭代法求方程的近似解课件
研究如何将牛顿迭代法与其他数值方法结合,以 获得更好的求解效果。
感谢您的观看
THANKS
阻尼牛顿法
总结词
阻尼牛顿法是一种改进的牛顿迭代法,通过引入阻尼因子来控制迭代过程中的步长,从而改善收敛性 和稳定性。
详细描述
阻尼牛顿法在每一步迭代中引入一个阻尼因子,该因子可以控制迭代过程中的步长。通过调整阻尼因 子的大小,可以有效地改善牛顿法的收敛性和稳定性,特别是在求解非线性方程时。阻尼牛顿法可以 更好地处理局部极小值和鞍点问题,提高求解精度和可靠性。
确定新的点
02
根据切线斜率和初始点的位置,确定新的迭代点。
更新切线斜率
03
根据新的迭代点,重新计算切线斜率。
判断收敛
设定收敛条件
设定一个收敛阈值,当连续两次迭代 之间的差值小于该阈值时,认为迭代 收敛。
检查收敛
在每次迭代后,检查是否满足收敛条 件,如果满足则停止迭代,否则继续 迭代计算。
04 牛顿迭代法的改进
二阶修正牛顿法
总结词
二阶修正牛顿法是在标准牛顿法基础上进行改进,通过引入二阶导数信息来加速收敛并 提高解的精度。
详细描述
二阶修正牛顿法利用二阶导数信息,在每一步迭代中构造一个更高阶的近似函数,从而 更快地逼近方程的真实解。这种方法在某些情况下可以显著减少迭代次数,提高求解效 率。然而,二阶修正牛顿法需要更多的计算资源和存储空间,因此在实际应用中需要根
用牛顿迭代法求方程 的近似解课件
目录
CONTENTS
• 引言 • 牛顿迭代法的基本原理 • 牛顿迭代法的实现步骤 • 牛顿迭代法的改进 • 实例演示 • 总结与展望
01 引言
牛顿迭代法的背景
牛顿迭代法是一种求解方程近似解的数值方法。

利用函数值信息的修正多步拟牛顿法

利用函数值信息的修正多步拟牛顿法

对于满足拟牛顿方程的 B + , 1最常用的校正公式是 B odn族校正公式 ( r e y 见文献 【 【) 67 . 】】
・ 一 + ,
维普资讯

1 ・ 4 4
南京大学学报数学半年刊
27 5 0 年 月 0
其 中
_ ( s
z ) ∑ c丁 ^ 褂1 ( = t)一 , 丁 (z
这 里
() 1 5
㈩j 嚣 ・ = O

J ≠t
( 1 6 )
() 1 7
[ 一k] 丽k Y B k s,
( 1 2 )
当 :0时, 就是 经典 的 B GS校 正公 式. F
由以上可以看出, 拟牛顿法是对 ^ X + 做线性插值, 和 k1 然后根据公式 () 2 推导出拟牛顿 方程. 尽管其形式简单, 由于只用了前一个迭代点的信息, 但 在某些情形下, 由公式 (1 得到 1)
收稿 日期: 0 60 -6 修 回日期: 0 61 -3 2 0 -52 ; 2 0- 12 .
E- a l u ii o m i :h a l @h t a l o b o m i. r cn
维普资讯
第1 期
怀丽波: 利用函数值 皇
垒生 生塑鎏
假设 通过迭 代点 线. 即 已经产 生新 的迭 代 点 X + , 义 曲线 X 为一条 过这两 个迭 代点 的直 k1定


() 2
xr = +7 () ., s 其 中
8k +1 一 Xk
() 3
这 样 ,由 () 3 式得 xo =X ,() k l并且 () kx1 =X+ ,
1 引 言
考虑 无约束 优化 问题

最优化理论与方法——牛顿法

最优化理论与方法——牛顿法

牛顿法简介摘要:牛顿法作为求解非线性方程的一种经典的迭代方法,它的收敛速度快,有内在函数可以直接使用。

结合着matlab 可以对其进行应用,求解方程。

关键词:牛顿法,Goldfeld 等人修正牛顿法, matlab 实现1 介绍:迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法,即一次性解决问题。

但多数方程不存在求根公式,因此求解根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。

迭代算法是用计算机解决问题的一种基本方法。

它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

利用迭代算法解决问题,需要做好以下3个方面的工作:1,确定迭代变量。

在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

2,建立迭代关系式。

所谓迭代关系式,是指如何从变量的前一个值推出下一个值的公式(或关系)。

迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

3,对迭代过程进行控制。

在什么时候结束迭代过程?这是编写迭代程序必须 考虑的问题。

不能让迭代过程无休止地重复下去。

迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。

对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件。

牛顿迭代法(Newton ’s method )又称为牛顿-拉夫逊方法(Newton-Raphson method ),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法,其基本思想是利用目标函数的二次Taylor 展开,并将其极小化。

牛顿法使用函数()f x 的泰勒级数的前面几项来寻找方程()0f x =的根。

修正牛顿法详解

修正牛顿法详解

修正牛顿法(Modified Newton's Method)是一种优化算法,通常用于解决非线性最小化问题。

它是基于牛顿法(Newton's Method)的一种变种,用于解决牛顿法可能会出
现的一些问题。

在牛顿法中,我们希望通过在每一步迭代中
求解一个二阶导数矩阵(Hessian Matrix)的逆来寻找函数
的最小值。

然而,在某些情况下,这个二阶导数矩阵可能不
是正定的,这会导致算法出现问题。

为了克服这个问题,修
正牛顿法使用了一个修正项来调整牛顿法中的二阶导数矩阵
的逆。

这个修正项可以保证矩阵的正定性,从而确保算法的
稳定性和可靠性。

修正牛顿法的每一次迭代都需要计算函数的一阶导数和二
阶导数矩阵,因此它的计算复杂度比其他一些优化算法高,
但是它通常能够更快地收敛到最小值,并且可以处理更广泛
的优化问题。

在具体实现上,修正牛顿法通常包括以下步骤:
初始化:选择一个初始点x_0,以及一个足够小的正数ε。

计算一阶导数:计算函数在x_0点的一阶导数。

判断是否满足牛顿条件:如果一阶导数的范数小于ε,则
认为已经找到了最小值,结束算法。

计算修正项:如果一阶导数的范数大于ε,则计算修正项,使得矩阵正定。

更新迭代点:使用修正项更新迭代点,然后返回步骤2。

需要注意的是,修正牛顿法虽然能够保证算法的稳定性和可靠性,但是在某些情况下可能收敛较慢或者无法收敛到最小值。

因此,在实际应用中,需要结合具体问题选择合适的优化算法。

一类修正的阻尼牛顿法

一类修正的阻尼牛顿法

一类修正的阻尼牛顿法庞军彦, 李秦(兰州交通大学 数理与软件工程学院,兰州 730070)摘要:本文在Marquardt –Levenber 方法和Goldstein –Price 方法的基础上对阻尼牛顿法(1)()2()1()[()]()k k k k k x x f x f x λ+-=-∇∇作了适当改进,得出了一种新的算法,与原来算法相比较,新算法避免了二阶导数矩阵的奇异性和非正定性,从而使迭代在二阶导数矩阵奇异和非正定的条件下也能进行.文章还给出了新算法收敛性分析和算法步骤,最后给出了数值试验.关键字:阻尼牛顿法;迭代格式;收敛性;数值试验A modified damped Newton methodPANG Jun-yan ,LI Qin(School of Mathematics, Physics and Software Engineering, Lanzhou Jiaotong University,Lanzhou 1730070, China)Abstract: In this paper,based on the two methods of Marquardt –Levenber and Goldstein –Price.The damped Newton method (1)()2()1()[()]()k k k k k x x f x f x λ+-=-∇∇ is improved properly.We proposed a new algorithm.In comparison with the original algorithm.The new algorithm avoids the singular and non positive definiteness of two order derivative matrix.The iteration can continue in the singular and non positive definite conditions of two order derivative matrix. The convergence of the new algorithm is analyzed and the algorithm steps is given.Finally,the numerical tests are presented.Key words: damped Newton method; iterative format; convergence; numerical tests1、 引言在科学和工程计算中,常常要用到数值计算方面的知识来求最优化极小值基金项目:国家自然科学基金(A020205)作者简介:庞军彦(1983-),男,甘肃省陇南市礼县人,兰州交通大学硕士研究生,主要从事数值计算方面的研究李秦(1965-),女,陕西西安人,教授,主要研究方向为算法设计与分析问题min ()f x ,而在一系列数值计算方法中,牛顿迭代法无疑是求此类问题的一种非常重要的方法,其迭代格式为(1)()2()1()[()]()k k k k x x f x f x +-=-∇∇ (k=1,2,…) 其中()()k f x ∇是函数()f x 在()k x 的一阶导数矩阵,2()()k f x ∇是函数()f x 的二阶导数矩阵(Hessian 矩阵),众所周知,牛顿法有一定的缺点,即对初值要求很苛刻,要求初值0x 必须在*x 附近取值,否则有可能迭代不收敛或收敛很慢 .阻尼牛顿法是对牛顿法的修正得到的,其迭代格式为(1)()2()1()[()]()k k k k k x x f x f x λ+-=-∇∇,其中k λ满足()()()()min k k k k k f x p f x p λλλ+=+. 阻尼牛顿法保持了牛顿法的二阶收敛性,即满足(1)*()*k k x x M x x +-≤-,而且对初值没有过于苛刻的要求。

修正牛顿法最优化C++程序

修正牛顿法最优化C++程序
}
for(;i<2*n;i++)
{
t[1]+=f_xs[i]*p[i%n];
}
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t[1]+=f_xs[(n+1)+n*(i+1)-i*(i+1)/2+j-i-1]*(x[i]*p[j]+x[j]*p[i]);
{
for(int j=0;j<n;j++)
{
cout<<setw(10)<<c[i][j]<<" ";
}
cout<<endl;
}
}
void xiang_cheng(double a[n][n],double b[n],double c[n])//n*n矩阵乘以n*1矩阵
int tap1=0,tap2=0;//最大列主元下标
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(i==j)
{
c[i][j]=1;
}
else
{
c[i][j]=0;
}
for(j=0;j<n;j++)
{
Hesse[i][j]=Q[i][j];
}
}
cout<<"Hesse 矩阵:"<<endl;

一个修正的三阶收敛的牛顿迭代法

一个修正的三阶收敛的牛顿迭代法
其中 e =
k = 2, . 3
() 6
一 , = ( / !I ’ )f ( , c 1 k ) ( / ) 厂
本文 引入 步长 因子 , 使得 牛 顿法通 过 加 速后 ,
具 有三 阶收敛 速 度.
Y k


一 而



1 基 本 定 义
定义 1 … 令 。 , , 是 收 敛 于 的序 ,. …
列 , 令 e 一o 如果 存在 着数 P及 常数 C ≠ 并 = / . 0 使 得 ,


Y)
= C : +o e 为 误 差 e (P )

设 是 方程 ) =0的单根 , 且
一 而

定义 2
。,
S p 若 + l , 机, 出 近似 t e3 一 < 停 输
根 ;
是 求 O近似 解 的迭代 序列 的连 续 3 , L 项
对 迭代 公式 ( )有 5

y 而 一 一
一 而 ;
X k+l :
(c 2 ) ,
Xl k +
S p3 若 l t e
出近似根 ;
_c 2 2
一 l 或 >n 停机, < , 输
Y 生: +,+ e, k 丽 ) +2 。3 _ e () 一 一3 n 2 ̄ ’ c
关 于非 线性 方程 I )=0的求 解 , 典 牛顿 厂 ( 经
迭代 法是 一种 最 实 用 和最 重 要 的 方 法 , 因为 其 简
p p= 可
2 修 正 的 牛 顿 迭 代 法
2 1 算 法 . 考虑 非 线性方 程
‘ .

非惯性系下的牛顿定律

非惯性系下的牛顿定律

非惯性系下的牛顿定律牛顿定律是描述物体运动的基本规律,它适用于惯性系中的运动情况。

然而,在非惯性系中,物体受到的力和加速度之间的关系并不直接适用牛顿定律。

因此,本文将探讨非惯性系下的牛顿定律以及如何在非惯性系中应用相应的修正公式。

一、非惯性系的定义与特点非惯性系是指相对于惯性系而言有加速度的参考系。

在非惯性系中,物体的运动状态由于该系自身的加速度而发生改变。

这种参考系下的物体运动与自由质点在加速状态下的运动有相似之处。

与惯性系相比,非惯性系中的运动规律需要进行修正。

二、非惯性系下的修正牛顿定律在非惯性系中,牛顿定律需要进行修正以适应该参考系中物体的运动情况。

具体而言,我们需要考虑两个因素:惯性力和修正加速度。

1. 惯性力惯性力是非惯性系中物体所受到的相对于惯性系的力。

根据牛顿第一定律,物体会继续沿其原来的方向匀速运动,除非受到外力作用。

因此,在非惯性系中,物体会感受到一个力,该力与物体的加速度成正比。

2. 修正加速度修正加速度是为了纠正非惯性系中物体受到的惯性力而引入的。

当物体在非惯性系中运动时,该参考系的加速度会影响到物体的真实加速度。

为了得到物体真实的加速度,我们需要减去非惯性系的加速度。

修正后的加速度与物体所受外力成正比。

三、修正牛顿定律的应用举例为了更好地理解非惯性系下的牛顿定律,我们考虑一个简单的例子:一个在水平面上受到均匀加速的电车。

假设电车的加速度为a,质量为m。

在非惯性系中,电车会受到惯性力-ma的作用,这个力与电车质量成正比。

为了得到电车的真实受力情况,我们需要修正惯性力。

根据修正牛顿定律,在非惯性系中,电车所受外力F与修正后的加速度a'的关系为:F = ma - ma'其中,修正后的加速度a'等于参考系加速度a乘以修正系数k。

修正系数的具体计算需要考虑参考系的运动情况。

通过上述修正后的牛顿定律,我们可以更准确地描述非惯性系中物体的运动。

在实际应用中,我们需要根据具体的参考系和物体的运动情况来选择合适的修正方法。

一个修正的三阶收敛的牛顿迭代法_李娟

一个修正的三阶收敛的牛顿迭代法_李娟

f( xn) = f( α + en)
= f( α)
+
f '(
α)
en
+
1 2!
f ″(
α)
e2n
f( yk) f '( xk)
= c2 e2n + ( 2c3 - 4c22 ) e3n + o( e3n ) ,
xk +1
=
yk
- f( yk) f '( xk)
= α + 2c22 e3n + o( e3n ) ,
( 2) : 187-203. [8] Chang Y-H O. Hybrid fuzzy least - squares regression a-
nalysis and its reliablity measures[J]. Fuzzy Sets and Systems,2001,119( 2) : 225-246. [9] Diamond P,Korner R . Extended fuzzy linear models and least squares estimate[J]. Computers and Mathmatics with Applications,1998,33( 9) : 15-32.
摘 要: 给出了牛顿迭代法的一种修正形式,证明了它是三阶收敛的,通过数值算例进行了验证.
关键词: 牛顿迭代法; 收敛阶; 误差方程
中图分类号: O241. 7
文献标识码: A
文章编号: 1674 - 1331( 2012) 03 - 0029 - 03
收稿日期: 2012 - 03 - 25
作者简介: 李娟( 1979 - ) ,女,汉族,甘肃两当人,讲师,硕士在读,研究方向: 计算数学.

非线性方程组的一个修正牛顿法公式

非线性方程组的一个修正牛顿法公式

s to t ceeae i -re o vre c[] h dwi aclrtdt r od r n egn eJ . me h hd c
Ap l d M ah maisLetr , 0 0 1 ( ) 8 - 3 pi t e tc tes 2 0 , 3 8 : 7 9 . e
中G 3 一 (一 () z 去 ) () 且有G ) = c Fz) ~, , = :
J 一 ) ( )一 0 一 .
引理 5] 设 G( )D E z :
一 在
处 可
I I 根据 经典 牛顿 法 的收敛 性有 : l , ) , )I 口J l J ( 一F ( F l≤ I z— l l ( ) G x )I— I 一 ( ) ( ) c l s 一 ( f G f F z 一 l— I , )。F x 一F x ) ( ( l I ( _I ( ) z F ( 一 z )z一 7 ) 一 F () ()一 F ( ) ( 2 ] ,z一[ z , ]z— z )I≤ } l , ) F x -F( 一 l ( r ( ) F x) ) — ) l ( ]l + l , )IF () 一 F ( ]z — )I ≤ l ( -[ , z F , )( z l l ) l l ( )一 F x )一 F ( ( l ( l・ J I F z F ( , )z— z

1 )由中点迭代公式所得 的迭代序列 { ) 是≥ 0 收敛 于 S 且有 C
l i m
~ o 扣 。
一 o .
f l 一 z l l
证毕.
2 a 0V ) > , z∈D有 l , ) , )l l ( 一F ( z F l ≤ aI — l 则存在一个常数 M> 0使得 『 z l I , , I z f≤ M z 一I l. I l z 。 l l

基于牛顿迭代法的概位修正误差分析

基于牛顿迭代法的概位修正误差分析

基于牛顿迭代法的概位修正误差分析I. 引言- 研究背景介绍- 研究意义阐述- 研究目的明确II. 牛顿迭代法的原理- 牛顿迭代法的基本思想- 算法流程详解- 优缺点分析III. 概位修正误差分析的基本概念- 概位修正误差的基本定义- 概位修正误差的来源与类型- 算法原理及数学模型IV. 牛顿迭代法在概位修正误差分析中的应用- 概位修正误差的矫正方法探究- 牛顿迭代法在概位修正误差中的应用- 实例分析及算法效果评估V. 结论- 研究结果总结- 研究意义回顾- 研究展望和未来方向VI. 参考文献- 文献综述及引用说明- 参考文献总结第一章节:引言随着现代科技的发展,高精度导航控制技术已经成为现代国防建设和各大行业的重要组成部分。

在卫星导航领域,GPS、GLONASS等全球定位卫星系统已经成为最常用的卫星导航手段。

虽然这些系统能够提供优质的导航数据,但是由于卫星轨道误差和信号传输误差的影响,定位结果中难免存在误差。

因此,对于卫星导航系统进行精度修正是非常必要的。

在卫星导航系统的精度修正过程中,概位修正误差一直是一个重要的研究领域。

它会直接影响到卫星导航的精确性和可靠性。

概位修正误差通常是由于接收机天线高度角的变化、地球周围势场影响以及大气影响等因素造成的,这也是卫星导航系统中最大的误差源之一。

为了解决概位修正误差的问题,牛顿迭代法受到了广泛的关注和研究。

牛顿迭代法是一种非常常用的数值分析方法,它可以用于解决非线性方程组和求解优化问题。

它的基本思想是通过不断迭代逼近方程的根或极值点。

本文主要通过对牛顿迭代法在概位修正误差中的应用进行研究,探讨其在卫星导航领域的意义和价值。

文章将从以下几个方面展开研究:第一部分,将对牛顿迭代法进行简单介绍,包括算法的基本思想、流程、优缺点等方面,以便为后续研究打下基础。

第二部分,将对概位修正误差的基本概念进行介绍,包括定义、来源以及算法原理和数学模型。

这一部分的研究将为后续对牛顿迭代法在概位修正误差中的应用提供必要的理论依据。

修正牛顿法求解绝对值方程

修正牛顿法求解绝对值方程

修正牛顿法求解绝对值方程邓永坤【摘要】利用修正牛顿法提出了求解绝对值方程Ax-|x|=b的一种算法,对算法的收敛性进行了分析和证明,并将修正牛顿法与牛顿法进行了比较,比较表明修正牛顿法的计算效率更高,最后通过数值实验表明该算法是有效的.%In this paper, by using the modified Newton method, an algorithm is proposed for solving the absolute value equationAx - |x|=b. Theoretic analysis for the convergence of the algorithm is given and by comparing with Newton indicate that the method is od we get that the Newton method is more effective. Numerical results feasible to the absolute value equation【期刊名称】《德州学院学报》【年(卷),期】2012(028)006【总页数】4页(P10-13)【关键词】绝对值方程;修正牛顿法;牛顿法【作者】邓永坤【作者单位】中国矿业大学理学院,江苏徐州221000【正文语种】中文【中图分类】O242.20 引言考虑以下形式的绝对值方程其中A∈Rn×n,b∈Rn,绝对值依分量而取.自从Rohn提出绝对值方程后,许多学者一直对其理论及数值求解有着浓厚的兴趣,文献[1,2]分别用半光滑牛顿法及区间数学的方法对其进行了比较系统的分析,并给出了收敛的条件.对于更一般形式的绝对值方程,文献[3-5]给出了比较详尽的理论分析,文献[6]利用广义牛顿法给出了更一般形式的绝对值方程的解并且证明了该方程同二阶锥互补问题的等价性,进而延伸到求解二阶锥互补问题.文献[1]给出了(其中是的广义雅可比矩阵)的等式D(x)为对角矩阵,sign(x)为依x值而改变的符号函数下面将构造修正牛顿法迭代公式,进而分析修正牛顿法的收敛性及计算效率.1 构造迭代公式利用修正牛顿法来构造绝对值方程Ax-的求解迭代公式.首先给出以下引理.引理1[7]若矩阵A的奇异值大于1,则对任意的b∈Rn,方程存在唯一解. 注:该引理给出了方程(1)存在唯一解的条件.在本文中总是假设矩阵A的奇异值是大于1的.首先令,则由文献[1]给出F(x)的广义雅可比矩阵形式其中:然后给出修正牛顿迭代公式在此为实用起见常选取m=2,此时(3)式化为k=0,1,…,进而求得x k+1将(2)式代入(4)可得综上,迭代公式(5)即为求解绝对值方程(1)的修正Newton迭代公式.2 算法及其收敛性通过第二部分迭代公式的构造,在该部分中将提出求解绝对值方程Ax-=b的修正牛顿法及收敛性分析.算法1(修正牛顿法)Step 0.选取任意向量x 0∈Rn,设置k:=0,设定计算精度:eps.Step 1.如果,停止.否则,进行下一步.Step 2.计算x k+1 ,其中Step 3.设置k:=k+1.然后转回步骤1.接下来分析算法1的收敛性及计算效率(其中以下F'(x)在本文中具体指F(x)的广义雅可比矩阵即本文第二部分中的∂F(x)).引理2[8](Ostrowski)设映象G:D ⊂Rn →Rn有一不动点x*∈int(D),且在x*处为F可导,G'(x*)的谱半径ρ(G'(x*))<1,则存在开球S =S(x*,δ)⊂D,对任意初值x 0⊂S,x*是迭代序列x k+1 =G(x k),k=0,1,… 的一个吸引点.引理3[8]假定F:D⊂Rn→Rn在x*的开邻域S 0⊂D上F可导且F'(x*)非奇异,而x*是F(x)=0的解,则存在闭球S=(x*,δ)⊂S 0(δ>0),使映象G(x)=x-[F'(x)]-1 F(x)对所有x∈S有定义,且牛顿法生成的序列x{}k超线性收敛到x*,若还假定‖F'(x)-F'(x*)‖ ≤α‖x-x *‖,∀x∈S,其中α>0为常数,则牛顿迭代序列x{}k至少是2阶收敛.引理4[8]假定映象F:D⊂Rn→Rn及D 0⊂D,若存在常数c≥0及p∈[0,1],对所有的x,y∈D 0有‖F'(x)-F'(y)‖≤c‖x-y‖p成立,则有以下不等式成立‖F(y)-F(x)-F'(x)(y-x)‖引理2、引理3、引理4的证明在文献[8]中给出,此处从略.定理1 (收敛性定理)若F:D⊂Rn→Rn在x*的邻域S(x*,δ)⊂D上F可微,且F'(x*)非奇异,x*是F(x)=0的解,假定对任意x∈S,存在正常数γ,使得‖F'(x)-F'(x*)‖≤γ‖x-x*‖成立,则x*是修正牛顿法迭代生成序列x{}k的吸引点,且m=2时修正牛顿法的收敛阶为3.证明由引理3可知映象N(x)=x-[F'(x)]-1 F(x)在球S1=(x*,δ1)⊂S上有定义,并满足由引理4知则因此映象G(x)= N(x)-[F'(x)]-1 F(N(x))在球S2 =S-(x*,δ2)⊂S1 上也有定义,其中δ22 ≤δ1/η,且G'(x*)=I-[F'(x*)]-1 F(x*)=0,所以ρ(G'(x*))=0<1,由引理2可知x*是修正牛顿法的吸引点.另外,由于F'(x*)非奇异,所以对x∈S 2有‖[F'(x*)]-1‖ ≤β,于是对x∈S 2 ,由假设及引理4有取为不依赖k的常数,则当x k+1=G(x k)时得‖x k+1-x*‖ ≤c‖x-x*‖3,即m=2时修正牛顿法的收敛阶为3.得证.定理2 修正牛顿法的计算效率是良好的,而且要比牛顿法的计算效率更高.假定计算一次分量函数值fi(x k)与一次分量偏导数值∂if i(x k)工作量均定为1/n,求一次矩阵逆[F'(x k)]-1 工作量为v,于是牛顿法计算一步工作量为W=n+1+v,收敛阶为2,所以牛顿法的效率为.按同样算法,修正牛顿法每步的工作量W =n+m+v,收敛阶为m+1,所以效率为e(Nm)=为简单起见,若都不计求逆工作量v,则,显然当m≥2时对任意正整数n有,这就说明修正牛顿法比牛顿效率更高.3 数值实验算例1 计算绝对值方程Ax-=b,其中.由题干可知本算例的准确解为x=1,()1 T.下面用MATLAB7.0进行编程并运算(计算精度取eps=1.0e-4)计算结果如下(1)当初始点为x 0 =(0.9,0.9)T 时,迭代2步,便得出了准确解x=(1.0000,1 .0000) T(2)当初始点为x 0 =(1.2,1.3)T 时,迭代2步,便得出了准确解x=(1.0000,1 .0000) T算例2 计算绝对值方程Ax-x =b,其中,设定eps=1.0e-4.计算结果如下:初始点为x 0=(2,2)T,迭代2次,解为:x=(1.2500,2.5000 )T通过以上算例进一步验证了修正牛顿法求解绝对值方程的有效性.4 结束语讨论了用修正牛顿法求解绝对值方程Ax-=b的求解问题,数值实验表明该算法是有效的,并且分析了该算法的3阶收敛性及良好的计算效率,有助于进一步了解绝对值方程及其相关数学模型.参考文献:[1]O.L.Mangasarian,A generalized Newton method for absolute value equations[J].Optim.Lett.,2009,(3):101-108.[2]王爱祥,王海军.绝对值方程的区间算法[J].贵州大学学报,2010,(27):7-10.[3] J.Rohn.A theorem of the alternatives for the equation Ax+B=b [J].Linear Multilinear Algebra,2004,(52):421-426.[4]O.L.Mangasarian.Absolute value programming[J].Comput.Optim.Appl.,2007,(36):43-53.[5]J.Rohn.On unique solvability of the absolute value equation[J].Optim Lett,2009,(3):603-606.[6]S.L.Hu,Z.H.Huang,Q,Zhang.A generalized Newton method for absolute value equations associated with second order cones[J].Comput.Optim Appl,2011,(235):1490-1501.[7]O.L.Mangasarian,R.R.Meyer.Absolute value equations[J].Linear Algebra and Its Applications,2006,419(5):359-367.[8]李庆扬,等.非线性方程组的数值解法[M].北京:科学出版社,1987.。

牛顿法 二阶梯度法

牛顿法 二阶梯度法
(k ) (k ) (k ) (k ) (k ) (k )
令x
(k )
=x
( k +1)
则有
g
∆g
∆g
(k + 1 )
= ∇f
(x
(k + 1 )
)= g
(k )
+ H
(x )(x
(k )
(k + 1 )

x
(k )
)
(k )
=g
( k +1)
−g
(k ) (k )
∆x = x
(k )
( k +1)
(k )
k
f ( x) ≈ f ( x ) +
(k )
[∇f (x
(k )
(x − x )+ 1 [x − x(k )] H (x )(x − x ) )] 2
T
(k )
T
(k )
(k )
梯度为
g ≈ ∇f ( x ) = ∇ f
(x )+ H (x )(x − x ) = g + H (x )(x − x )
X
=
X
(k )
−α
(k )
A
(k )
∇f
(X ) = X + α
(k )
(k )
S
(k )
α
(k )
-----步长由
(k )
f (x
+ α s ) = min f ( x
(k ) (k )
(k )
+α s )
(k ) (k )
求出 探索方向
S
(k )
= − A ∇f

牛顿迭代法.

牛顿迭代法.

牛顿迭代法李保洋数学科学学院信息与计算科学学号:060424067指导老师:苏孟龙摘要:牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法,即牛顿迭代法.迭代法是一种不断用变量的旧值递推新值的过程•跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题•迭代法又分为精确迭代和近似迭代“牛顿迭代法”属于近似迭代法,本文主要讨论的是牛顿迭代法,方法本身的发现和演变和修正过程,避免二阶导数计算的Newton迭代法的一个改进,并与中国古代的算法,即盈不足术,与牛顿迭代算法的比较•关键词:Newton迭代算法;近似求解;收敛阶;数值试验;中国古代数学;九章算术;Duffing方程;非线性方程;收敛速度;渐进性0引言:迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题•迭代法又分为精确迭代和近似迭代•“二分法”和“牛顿迭代法”属于近似迭代法•迭代算法是用计算机解决问题的一种基本方法•它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值•具体使用迭代法求根时应注意以下两种可能发生的情况:(1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制•(2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败•所以利用迭代算法解决问题,需要做好以下三个方面的工作:1、确定迭代变量•在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量2、建立迭代关系式.所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系).迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成.3、对迭代过程进行控制,在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题.不能让迭代过程无休止地重复执行下去.迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定.对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件.1牛顿迭代法:洛阳师范学院本科毕业论文X 0 牛顿迭代有十分明显的几何意义,如图所示:牛顿 迭代法(Newton method)又称为牛顿-拉夫逊方法(Newto n-Rapfsonmethod),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方 法.多数方程不存在求根公式,因此求精确根非常困难甚至不可能,从而寻找方程的近似根就显得特别重要•方法使用函数f x 的泰勒级数的前面几项来寻找方程f x =0的根•牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程f x =0的单根附近具有平方收敛性,而且该法还可以用来求方程的重根、复根. 另外该方法广泛用于计算机编程中:解非线性方程f x ]=0的牛顿(Newton)法是把非线性的方程线性化的一种近似方法•把f x 的x 点附近展开泰勒(Taylor )级' 2 f x = f x 0 f X - X 0 f x 0 ]亠 ix - X 0取其线性部分作为非线性方程f x =0的近似方程,则有:f X 。

牛顿迭代法.

牛顿迭代法.

牛顿迭代法李保洋数学科学学院信息与计算科学学号:060424067指导老师:苏孟龙摘要:牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法,即牛顿迭代法.迭代法是一种不断用变量的旧值递推新值的过程.跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“牛顿迭代法”属于近似迭代法,本文主要讨论的是牛顿迭代法,方法本身的发现和演变和修正过程,避免二阶导数计算的Newton迭代法的一个改进,并与中国古代的算法,即盈不足术,与牛顿迭代算法的比较.关键词:Newton迭代算法;近似求解;收敛阶;数值试验;中国古代数学;九章算术;Duffing方程;非线性方程;收敛速度;渐进性0 引言:迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法或者称为一次解法,即一次性解决问题.迭代法又分为精确迭代和近似迭代.“二分法”和“牛顿迭代法”属于近似迭代法.迭代算法是用计算机解决问题的一种基本方法.它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值.具体使用迭代法求根时应注意以下两种可能发生的情况:(1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制.(2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败.所以利用迭代算法解决问题,需要做好以下三个方面的工作:1、确定迭代变量.在可以用迭代算法解决的问题中,至少存在一个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量.2、建立迭代关系式.所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系).迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成.3、对迭代过程进行控制,在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题.不能让迭代过程无休止地重复执行下去.迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定.对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析出用来结束迭代过程的条件.1牛顿迭代法:牛顿迭代法(Newton method)又称为牛顿-拉夫逊方法(Newton-Rapfson method ),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法.多数方程不存在求根公式,因此求精确根非常困难甚至不可能,从而寻找方程的近似根就显得特别重要.方法使用函数()f x 的泰勒级数的前面几项来寻找方程()0f x =的根.牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程()0f x =的单根附近具有平方收敛性,而且该法还可以用来求方程的重根、复根.另外该方法广泛用于计算机编程中:解非线性方程()0f x =的牛顿(Newton )法是把非线性的方程线性化的一种近似方法.把()f x 的0x 点附近展开泰勒(Taylor )级()()()()()()''20'00002!f x f x f x f x x fx x x =+-+-+;取其线性部分作为非线性方程()0f x =的近似方程,则有:()()()'0000f x f x x x +-=;设()'00f x ≠,则其解为:()()0'100f x x x f x =-;再把()f x 在1x 附近展开泰勒(Taylor )级数,也取其现行部分作为()0f x =的近似方程.若()'10f x ≠,则得:()()1'211f x x x f x =-;这样,得到牛顿(Newton )法的一个迭代序列:()()'1n n n n f x x x fx +=-;牛顿迭代有十分明显的几何意义,如图所示:当选取初值0x 以后,过()()00,x f x 做()f x 的切线,其切线方程为:()()()'000y f x f x x x -=-;求此切线方程和x 轴的交点,即得:()()'1000x x f x f x =-;牛顿法正因为有这一明显的几何意义,所以也叫切线法. 例:用牛顿法求下面方程的根()32210200f x x x x =++-=; 解:因()'23410f x x x =++,所以迭代公式为:()()3221210203410n n x x x x x x x +=-++-++;选取01x =计算结果列表:从结果可以看出,牛顿法的收敛是很快的,5x 误差1510-.但用牛顿法计算工作量比较大,因每次计算迭代除了计算函数值外还要计算微商值.为此我们提出了简化牛顿法:其公式为()()'10n n n x x f x f x +=-;用上面的公式计算,不再需要每步重新计算微商值,所以计算量小一些,但收敛也要慢一些.为了避免计算导数还可以采用差商代导数的方案:()()()()111n n n n n n n f x x x x x f x f x +--=---;关于牛顿迭代的收敛有下面结果:如果()f x 在零点附近存在连续的二阶微商,ξ是()f x 的一重零点,且初始0x 充分接近于ξ,那么牛顿迭代是收敛的,且有()()()2'''1/2n n x f f x ξξξξ+-≈•-;这表明牛顿法是二阶收敛的(平方收敛的).最后考虑()f x 是多项式的特殊情况,此时()f x ,()'f x 在某个x 值,比如x c =时的计算可用综合除法.设 ()111n n n n f x ax a x a x a +-=+++,除以x c -,得商()q x ,余r :()()()f x q x x c r =-+; (1) 其中:()120121n n n n q x b x b x b x b ----=++++;()n r b f c ==;比较(1)式两边k x 的系数便知这些k b 可以按下表进行:这一过程其实就是秦九韶算法,计算多项式值的嵌套算法:()()()()121n n f c aa c a c c a c a -=+++++;每个括号的值就是这里的0n b b .至于导数的计算,注意到(1)式可得:()()()()''f x q x q x x c =+-;于是:()()'f c q c =;因此再对0n b b 进行上述过程,或者再用一次秦九韶算法即可.2一种修正的牛顿迭代法:给出了牛顿迭代法的一种修正形式,并证明了当1/2r ≠时修正的牛顿迭代法是二阶收敛的,当参数1/2r =时是三阶收敛的,数值实验表明,与经典牛顿迭代法相比,该修正牛顿迭代法具有一定的优势.众所周知,数值求解非线性方程()0f x =的根的方法很多.经典的牛顿迭代法是非线性方程组求根的一个基本方法,它二次收敛到单根,线性收敛到重根.牛顿法因收敛速度快而得到广泛应用,也倍受学者的重视,近年来很多文献中提出各种改进的牛顿方法.文献[8]中利用Newton 迭代法和微分中值定理“中值点”的渐进性,提出了一种多点迭代法.设()f x 满足下述条件:()[]2,f x c a b ∈,()()0f a f b <; ()'0f x ≠, ()''f x 在[,]a b 上保号. (A)根据微分中值定理,存在(,)a b ξ∈,使得:()()()'f b f a f b a ξ-=-,而1lim 2b a a b a ξ→-=-.因此,当b 与a 的距离无限接近时有:()12a b a ξ≈+-.也就是说,在区间(,)a b 不甚大时,中值点ξ一定在其渐近位置 ()12a b a ξ≈+-附近,并随区间变小而趋于其渐近位置.图所示迭代法构造图本方案基于上述考虑,给出一种通过迭代点选取另一个点,利用两个点进行迭代求近似根的新方法.这种方法虽然在迭代中又只利用了一个其它点,但其计算精度却相当高,它的某一种特殊情形恰是通常的Newton 迭代法.为了更加直观起见,我们通过几何直观图来构造这种迭代法.设()f x 满足条件(A ),当选定初值0x(仅要求()()"00f x f x ⋅>),如图所示,作交点的切线交x 轴于B ()()00'0,0f x x f x ⎛⎫- ⎪ ⎪⎝⎭,AQ 线段的斜率为:()()()()()000'0000'0f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭⎛⎫-- ⎪⎝⎭.由微分中值定理知,存在()()000'0,f x x x f x ξ⎛⎫∈- ⎪ ⎪⎝⎭使得:()()()()()()000'0'0000'0f x f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭=⎛⎫-- ⎪⎝⎭;而()()()()0000''0012f x f x x x f x f x ξ⎛⎫≈-+- ⎪ ⎪⎝⎭,因此,我们取数1,12r ⎛⎫∈ ⎪⎝⎭,在点()()()()()()0000''001,1f x f x P x r f x r f x f x ⎛⎫⎛⎫---- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭作切线PC ,图中AD 平行于PC .即用点P 的导数()()()0'0'01f x f x r f x ⎛⎫-- ⎪ ⎪⎝⎭代替点A 的导数,而仍用点A 的迭代格式得到点D 的坐标()()()()00'00'0,01f x D x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫⎪-- ⎪ ⎪⎝⎭⎝⎭;重复上述过程,得到多点迭代公式()()()()1''1k k k k k k f x x x f x f x r f x +=-⎛⎫-- ⎪⎝⎭; (2)其中[,]k x a b ∈,1,2,3,k =.下面我们对上述事实,从理论上加以严格证明.定理 设()f x 满足条件(A ),则由多点迭代公式(1)产生的序列{n x }必收敛于[,]a b 上的唯一a ,这里[],n x a b ∈,()0f a =.证明 函数()f x 在上连续,由连续函数根的存在定理,从()()0f a f b <知道()f x 在[],a b 上根存在,又由条件()'0f x ≠及()''f x 保号知道,()'f x 在[],a b 上不变号,故()f x 在[],a b 上是单调函数,因此()f x 在[],a b 上根a 存在且唯一.由定理条件曲线()y f x =可有如下四种不同情况:(1) ()()()"0,0,0f a f b f x <>>,则()'f x 单调上升,()()''0f a f b >; (2) ()()()"0,0,0f a f b f x <>>,则()'f x 单调下降,()()''0f a f b >;(3) ()()()"0,0,0f a f b f x ><>,则()'f x 单调上升, ()()''0f a f b <; (4) ()()()"0,0,0f a f b f x ><<,则()'f x 单调下降,()()''0f a f b <. 通过对自变量的变号或对函数的变号可将四种情况归结为一种情况,所以我们只需对情况(一)证明迭代过程(1)收敛就可以了.若初值[]0,,,n x a b x a ∈>所以()00f x >,故有()()()()0100'00'01f x x x x f x f x r f x =-<⎛⎫-- ⎪⎝⎭;()()()()()()()()()()()()()()()''0001000'''000000'''000111f x f a f x a f x a x x x x f x f x f x f x r f x r f x r f x f x f x ξξ+--=-=-=-⎛⎫⎛⎫⎛⎫------ ⎪⎪⎪⎝⎭⎝⎭⎝⎭;一方面,()0.a x ξ∈,且()()'00f x f x a =-.下证()()()()0''0'01f x f x f x r f x ⎛⎫<-- ⎪ ⎪⎝⎭.若()()()()0''0'01f x f x f x r f x ⎛⎫>-- ⎪ ⎪⎝⎭,由()'f x 的单调性有,x ,()()()00'01f x x r f x ξ--<,又因为()()()()()0000''001f x f x x r x f x f x -->-,因此有()()()0''0'0f x f x f f x ξ⎛⎫-< ⎪ ⎪⎝⎭,与Newton 迭代法的收敛性矛盾.由(一)的假设及()()()()0''0'01f x f f x r f x ξ⎛⎫<-- ⎪ ⎪⎝⎭可得: ()()()()()()'01000'00'01f x a x x x x a a f x f x r f x ξ-=->-=⎛⎫-- ⎪⎝⎭;一般地,若n x a =,同样可以证明由式(2)得到的1n x +满足1n n a x x +<<.所以由式(1)产生的迭代序列{n x }单调下降且有下界.依极限理论必有极限.对式(2)两边取极限,由极限理论可以求得()'0f a =.再由()'0f x ≠,[],n x a b ∈,可知函数方程()0f x =在[],a b 上的根是唯一的,因此有'a a =.当1r =时,式(2)即为Newton 迭代公式.本文给出的这种多点迭代方法不仅可以被广泛应用于方程的近似求根,更重要的是它为人们提供了一种新的迭代思想,拓宽人们在方程近似求根方面的思路.例 计算()3250f x x x =--=在(2,3)区间内的一个实根.我们已知()0f x =有一个精确到十二位有效数字的实根 2.09455148154a =. 取03x =,以Newton 迭代法计算(记作1n x ),取03x =, 12r =以式(1)计算(记作2n x ),其结果列表如表1.行三次迭代就已得满足精度要求的值了,而Newton 迭代法需迭代5次才可得到满足精度要求的值.式(2)可以被广泛应用,特别是编成数学软件后,用计算机求解方程近似根效果会更加显著.3另外一种牛顿迭代法的修正:Newton 迭代法是方程求根的一种简单而直观的近似方法,但在实际运用中,我们常常觉察到,这种方法仅仅是利用了迭代点及该点的导数值,而没有充分利用其他点及其导数值.是否存在可利用的点,这些点我们应怎样确定.文[1]给出了一种方法,但这种方法求根的关键在适当地选取0x 和r 或n r .选取不适当,就会出现某次迭代的值不是迭代序列中的值.因此,我们会问这些值特别是0x 能否不依靠人为选取,而通过迭代点来选取,本文将利用Newton 迭代法和微分中值定理“中值点”的渐近性,来寻找除迭代点以外的可利用点,给出一种多点迭代方法.设()f x 满足下述条件:()[]()()2,,0f x c a b f a f b ∈<;()()'''0,f x f x ≠在[],a b 上保号. (A)根据微分中值定理,存在(),a b ξ∈,使得()()()'f b f a f b a ξ-=-而1lim 2b a a b a ξ→-=-.因此,当b 与a 的距离无限接近时有:()12a b a ξ≈+-.也就是说,在区间(),a b 不甚大时,中值点ξ一定在其渐近位置()12a b a ξ≈+-附近,并随区间变小而趋于其渐近位置.本方案基于上述考虑,给出一种通过迭代点选取另一个点,利用两个点进行迭代求近似根的新方法.设()f x 满足下列条件(A):(1) ()f x 在区间在区间[],a b 上存在二阶导数; (2) ()'f x 在[],a b 上不等于零; (3) ()''f x 在[],a b 上不变号; (4) ()()0f a f b <;为了更为直观,我们通过几何直观图来构造多点迭代法.设()f x 满足条件(A),当选定初值0x (仅要求()()''00f x f x >),如图所示:做A 点的切线交X 轴于B ()()00'0,0f x x f x ⎛⎫- ⎪ ⎪⎝⎭,AQ 线段的斜率为:()()()()()000'0000'0f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭⎛⎫-- ⎪⎝⎭;由微分中值定理知,存在()()000'0,f x x x f x ξ⎛⎫∈- ⎪ ⎪⎝⎭使得: ()()()()()()000'0'0000'0f x f x f x f x f x f x x x f x ⎛⎫-- ⎪⎝⎭=⎛⎫-- ⎪⎝⎭;而()()()()0000''0012f x f x x x f x f x ξ⎛⎫≈-+- ⎪ ⎪⎝⎭,因此,我们取数1,12r ⎛⎫∈ ⎪⎝⎭,在点()()()()()()0000''001,1f x f x P x r f x r f x f x ⎛⎫⎛⎫---- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭作切线PC ,图中AD 平行于PC .即用点P 的导数()()()0'0'01f x f x r f x ⎛⎫-- ⎪ ⎪⎝⎭代替点A 的导数,而仍用点A 的迭代格式得到点D 的坐标()()()()00'0',01k k f x D x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫ ⎪-- ⎪ ⎪⎝⎭⎝⎭; (3)主要对(3)式的分子()k f x 用()k f x 与()()()()''1k k k k k f x f x f x f x r f x ⎛⎫ ⎪⎪- ⎪⎛⎫⎪-- ⎪ ⎪⎝⎭⎝⎭的和代替,这样就得到新的迭代公式:()()()()()()()()''1''11k k k k k k k k k k k f x f x f x f x f x r f x x x f x f x r f x +⎛⎫ ⎪⎪+-⎪⎛⎫ ⎪-- ⎪ ⎪⎝⎭⎝⎭=-⎛⎫-- ⎪⎝⎭; (4) 如果令 ()()()()'1k k f x u x x r f x =--;()()()1'k k k kf x x w x x f u +==-;则: ()()111'k k k f x x x f u x -+-++⎛⎫⎪⎝⎭=-; 从而可知(4)式中迭代函数为:()()()()()()'f w x x w x f w x Φ=-;引理1[5] 对于迭代公式()1k k x x +=Φ,如果p Φ在所求的根*x 的邻近连续并且:()()()()1'*''**0p x x k x +Φ=Φ==Φ=,()()*0px Φ≠,则该公式在*x 的邻近是p 阶收敛的.定理1 设方程()f x 的根为*x ,函数()f x 在*x 的的邻域内有至少四阶连续导数,且()'0f x ≠,则迭代公式(4)在的*x 邻近至少是三阶收敛的.证明 迭代公式(4)的迭代函数为:()()()()()()'f w x x w x f w x Φ=-,其中()()()'k k k f x w x x f u =-,由于方程()f x 的根为*x 所以()*0f x =,从而可知()**w x x =,()'*0w x =;()()()()()()'*'*''*3''*f x u x w x f u x =对()x Φ求导数得:()()()()()()()()()()()()()()()'''''"''''*2''0f w x w x f u x f w x f u x u x x w x x f u x -Φ=-⇒Φ=; 同理可得:()()()()()()'"'"*''*''*0x x x w x w x Φ=Φ⇒Φ=-=.由引理知迭代公式(4)在*x 邻近至少是三阶收敛的.引理2([4]) 假设函数()f x 在区间[],a b 上存在二阶导数,且满足下列条件(1) ()'f x 在[],a b 上不等于零;(2) ()''f x 在[],a b 上不变号;(3) ()()0f a f b <;(4) 设[],x a b ∈,且满足条件()()"0f x f x >;则由Newton 迭代法()()'10n n n x x f x f x +=-得到的序列{}n x 收敛于()0f x =的惟一根*x .定理2 假设函数()f x 在区间[],a b 上存在二阶导数,且满足下列条件(1) ()'f x 在[],a b 上不等于零;(2) ()''f x 在[],a b 上不变号;(3) ()()0f a f b <;(4) 设[],x a b ∈,且满足条件()()"0f x f x >.则由多点迭代公式(4)得到的序列{}n x 收敛于()0f x =的惟一根*x .证明 函数()f x 在[],a b 上连续,由连续函数根的存在定理,从()()0f a f b <知道()f x 在[],a b 上根存在,又由条件()'0f x ≠及()"f x 的保号性知道,()'f x 在[],a b 上不变号,故()f x 在[],a b 上是单调函数,因此()f x 在[],a b 上的根*x 存在且惟一. 由定理条件,曲线()y f x =可有如下四种不同情况:(a) ()()()"0,0,0f a f b f x <>>,则()'f x 单调上升,()()''0f b f a ≥>;(b) ()()()"0,0,0f a f b f x <><,则()'f x 单调下降,()()''0f a f b ≥>;(c) ()()()"0,0,0f a f b f x ><>,则()'f x 单调上升,()()''0f a f b ≥<;(d) ()()()"0,0,0f a f b f x ><<,则()'f x 单调下降,()()''0f b f a ≥<.通过对自变量的变号或对函数的变号可以将四种情况归结为一种情况,所以我们只需对其中一种情况证明迭代过程(4)是收敛的就可以了.下面仅就情况(a)证明定理2,其余情况的证明类似.对情况(a)来说此时()0f x =在[],a b 上的根存在且惟一,且()f x 在[],a b 上单调递增.首先证明,对任何初始近似()*,x x b ∈,由迭代公式(4)求出的逐次近似k x 都属于()*,x b ,并且单调递减. 事实上,由引理2的证明我们可知,只要()()()()()*'1,k k k k f x u x x r x b f x =--∈,就有()*1,k x x b -+∈,即()1k k k x u x x -+<<,再由(3)式得11k k x x -++<,另一方面(3)式可化为: ()()()()()()()()()*''1*****11111'''1k k k k k k k k k f x f x f f x x x x x x x x x x f u x f u x f u x ξξ-+----+++++⎛⎫- ⎪⎛⎫⎛⎫⎛⎫⎝⎭-=--=---=-- ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭; 其中()()**11,,k k x x x u x ξ-+⎛⎫∈⊂ ⎪⎝⎭.由()'f x 单调递增且()'0f x >知()()()''1k f f u x ξ<,故*10k x x -+->因而由(4)式产生的序列{}n x 单调递减并有下界,故lim n n x →∞存在.设lim n n x x -→∞=,(4)式两边当k →∞时求极限得: ()()_____'_'____'_'101f x f x f x f x f x r f x x x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+- ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭=-=⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭; ()()_____'_'__'_'11f x f x f x f x f x r f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+- ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭; 可知 ()_____'_'01f x f x f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪+-= ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭; ()()___*__'_',,1f x x x x b f x f x r f x ⎛⎫ ⎪⎝⎭-∈⎛⎫⎛⎫ ⎪ ⎪⎝⎭ ⎪--⎛⎫ ⎪ ⎪ ⎪⎝⎭⎝⎭,()f x 在[],a b 上单调递增,且()*0f x =所以:()_____'_'0,01f x f x f x f x f x r f x ⎛⎫ ⎪ ⎪ ⎪⎛⎫ ⎪ ⎪⎛⎫⎝⎭ ⎪=-= ⎪⎛⎫⎛⎫⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪-- ⎪⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭;因此得:*x x -=. 本方法代方法比Newton 和文[4]的迭代法的收敛速度明显要快,而且对于1,12r ⎡⎤∈⎢⎥⎣⎦,r 越大效果越差!对于例1,用MATLAB 程序运算格式(4),当12r <时,在*0k x x →=之前迭代格式会产生负值.所以,格式(4)的收敛速度和r 的选取有关. 对于定理2中的四个条件,在MATLAB 中通过简单的程序即可验证.4 中国古代算法盈不足术与牛顿迭代算法的比较:首先介绍 盈不足术 九章算术中的第七章是盈不足术,这是求解方程的一种最古老的方法.为了说明该方法的基本思想,我们考虑该章的第一个例子:今有共买物,人出8,盈3;人出7,不足4,问人数、物价各几何?其求解过程为(见图1):(1) 把出率(8)和(7)放在第一行;(2) 把盈数(3)和不足数(4)放置在出率下面;(3) 计算维积(交差积)得(32)和(21),得和为(53);(4) 盈减去不足数为431-=;(5) 从而得物价为53531=; 用现代数学的观点,盈不足术可表示为:设1x 和2x 为两个近似物价,1R 和2R 分别表示为盈或不足数,则物价为:211212x R x R x R R -=-;人数为1212R R y x x +=-;正如白尚恕[7]指出的那样,在隋唐(581~618年AD )盈不足术在中东被广泛流传,最早的阿拉伯算术书是由al-Khowarizmi 在公元825年写的,英文中的算术一词(algorithm)来自他的名字,他应该对九章算术和其他古代中国巨著很了解,并把盈不足术称为中国方法.Khitai 指China ,类似的写法有Khatai ,Chatayn ,Chataain 等等.普遍认为中国算法是通过古代著名的意大利数学家Leonardo Fibonacci(1170?~1250?年)传给西方的,据记载Fibonacci 随他父亲周游了埃及、西西里、希腊和叙利亚,这次周游使他接触了东方和阿拉伯的计算方法.在1202年,即他回家后不久他就出版了著名的《算经Liber Abaci 》.该书也介绍了盈不足术,并把这种方法称为中国规则,这个名字来自中东,在那里中国算法称为Hisabl-Chatin ,里Chation 指China 该书中的一些例子和算法和中国古代数学巨著完全一样.如在4世纪的孙子算经:今有物不知其数,三三数之胜二,五五数之胜三,七七数之胜二,问物几何?该问题的解题方法就是数论中的中国余数定理:在Fibonacci 的《算经》中阿拉伯语DeRegulisel-Chatavn 被译成拉丁文DuarumFalsdrumPosicionumRegula 所以在西方这种方法被称作双假定方法,这实际上是九章算术中的盈不足术,即中国算法,它起源于中国是毫无疑问的,这正如钱宝琮[8]指出的那样可惜的是很多西方人认为这种方法起源于印度,并被阿拉伯人所掌握所以本作者强烈建议把双假设法改称为中国算法或中国方法.中国算法与牛顿迭代算法考虑方程()'0f x =设12,x x 为方程的两个近似解,于是我们得残量()1f x 和()2f x 应用中国算法,我们可得()()()()2112312x f x x f x x f x f x -=-; (5) 在九章算术中给出了在下列情况下的一些不等式:(1)双盈,即()10f x >和()20f x >(2)双亏,即()10f x <和()20f x <;(3)一盈一亏,即()()120f x f x ⋅<;上述算法可以根据不等式的性质确定更合适的两个数()12,x x 或()23,x x ,再进行计算定更精确的近似解,为了与牛顿迭代算法比较,我们把(5)写成如下形式:()()()()()()()()2112112311212x f x x f x f x x x x x f x f x f x f x --==---; 如果引入导数()'1f x ,它定义为()()()12'112f x f x f x x x -=-;那么我们马上可得:()()11'1f x x x f x =-; 这就是著名的牛顿迭代法,当两个近似值1x 和2x 位于真解的两侧时,即()()120f x f x ⋅<,中国算法比牛顿迭代算法具有很大的优势,牛顿迭代算法可以更进一步的优化发展,可参考文献[10,11].中国算法的改进:中国算法可以看成是通过两个近似解的线性近似方法,见图2为了提高中国算法的精度,我们用三点()123,,x x x ,而不用两点()12,x x ,用抛物线拟合该曲线,我们得近似解为:()()()()()()123213321121321233231x f f x f f x f f x f f f f f f f f f f f f =++------; 式中()i i f f x =;综合概述:迭代算法是一种用途非常广泛的方法,本文不仅介绍了这个方法很好的诠释这个方法, 而且做了牛顿迭代法的两种修正,更做了牛顿迭和与中国古代算法的比较,不仅试读者更好理解了这个方法,更开阔了读者的视野,使读者更能留下研究的空间.参考文献:[1] 徐萃薇,孙绳武.计算方法引论(第三版)[M].北京:高等教育出版社,2007.[2] 龙爱芳.避免二阶导数计算的迭代法[J].浙江工业大学学报,2005, 33(5):602~604.[3] 李庆扬,王能超.数值分析[M].武汉:华中科技大学出版社,1986.[4] 张新东,王秋华.避免二阶导数计算的Newton迭代法的一个改进[J].山东大学学报,2007,42(7):72~76.[5] 何吉欢.盈不足术与牛顿迭代算法的比较[J].应用数学和力学,2002,23(12):1256~1259.[6] 王晓峰.一种修正的牛顿迭代法[J],2010,33(1)长春理工大学学报,178~179.[7] 白尚恕.九章算术注释[M].北京:科学出版社,1983.[8] 钱宝琮.中国数学史[M].北京:科学出版社,1992.[9] 陈新一.一种多点迭代方法[J].甘肃教育学报(自然科学版),2001,15(1):13~16.[10]HeJi-huan.Improvement of Newton interation menthod [J].International Journal of Nonlinear Science and Numerical Simulation 2000,1(3):239~240.[11]HeJi-huan.Newton-like iteration menthod for solving algebraice quations[J]. Communication NumSimulation,1998,3(2):106~109Newton iterationLI Bao YangMathematical Sciences Information and Computing Science NO:060424067Instructor :SU MenglongSummary:In the 17th century,Newton introduced a method of solve equations approximately in real number domain and complex domain,that is Newton Iteration,a process of recursion new value constantly with the old value of variable. Correspond with the Iterative Method is A Direct Method or as A Solution,that is a one-time problem solving. Iteration is divided into exact iterative and approximate iterative. "Newton Iterative Method" is belong to approximate iterative methods. This article mainly focuses on the Newton Iteration. The main contents of this article include the discovery,evolution and amendment process of this methods; an improve of avoiding calculating Newton Iteration with second-order derivative; the comparison of the Chinese ancient algorithm---Yingbuzu Method and Newton Iterative Algorithms. Keywords: Newton Iterative Algorithm; approximate solution; order of convergence; numerical experimentation; Arithmetic in Nine Section ; Duffing Equation; Nonlinear equations; Convergence rate; Progressive。

【国家自然科学基金】_修正牛顿法_基金支持热词逐年推荐_【万方软件创新助手】_20140802

【国家自然科学基金】_修正牛顿法_基金支持热词逐年推荐_【万方软件创新助手】_20140802

2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
科研热词 修正牛顿法 零注入 等式约束 状态估计 非线性系统 迭代学习控制 连续潮流 稀疏重建 直角坐标 电压稳定 极坐标 最速下降法 无约束最优化 支持向量机 延拓法 双向迭代 压缩感知 全局收敛性 全局收敛 光滑牛顿算法 光滑l0范数 修正快速解耦估计 修正newton法 交直流系统 互补问题 二次规划 二次收敛
推荐指数 4 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2013年 序号 1 2 3 4 5
科研热词 稀疏重构 混合优化 压缩感知 光滑l0范数 修正牛顿法
推荐指数 1 1 1 1 1
2014年 序号 1 2 3 4
2014年 科研热词 非线性二阶锥规划 非光滑牛顿法 全局收敛性 b-次微分 推荐指数 1 1 1 1
推荐指数 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2011年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
2011年 科研热词 全局收敛性 修正牛顿法 非诚实牛顿法 阻尼牛顿法 迭代修正 自适应修正牛顿算法 算法 稀疏重建 磁偶极子 潮流计算 渐近牛顿法 水平线性互补问题 水下地磁定位 暂态稳定仿真 无约束最优化 并行计算 地磁场 变步长 压缩感知 准对角预条件子矩阵 sl0 jacobi矩阵更新 gmres方法 推荐指数 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

非线性方程组

非线性方程组

非线性方程组前言非线性方程组,顾名思义就是未知数的幂除了不是1,其他都有可能!线性方程组其实只是非常小的一类,非线性方程组才是大类!也正因此非线性方程组包含各种各样的方程形式,所以它的解和对应的求解方法不可能像线性方程组那样完美,即都是局部收敛的。

先给出一个直观的非线性方程组例子:个人对两个问题的理解:1、非线性方程组如果有解,一般都有很多解!如何理解:把方程组的解看成是各个函数图像的交点的。

我们知道非线性方程组的各个函数就都是复杂曲线、面,甚至是高纬空间里的复杂东西;线性方程组的各个函数就是最简单的直线、面!各个复杂函数图像间的相交机会很多,并且只要相交,就是多个交点(因为交线、交面里有无数的交点),也就是有多个解,可以想象,非线性方程组有多解是很平常的一件事,对于复杂的非线性函数没解才不正常!可以想象,这些解是等价的!没有说是等级更高,谁等级低一些。

都是解!因为:只要是解,它就只满足一个条件:让方程组中的各个方程=0。

所以无法用什么评判标准(比如范数)来说哪个解的等级高一些或者效果更好一些。

注意:这里的解等价和欠定线性方程组通解中的唯一极小范数解不一样!可以想象二者的区别:非线性方程组中的解都是实打实存在的;而欠定线性方程组中除了特解,其他通解中的解说存在也行,说不存在那就是因为方程条件(个数)都不够!这些是啥都行的通解和非线性方程组中实打实存在的解肯定不能比!这样的话各个非线性方程组的局部收敛性就可以理解,即:空间中有很多解时,我每次只能找一个,那我找谁?找离我出发点最近的那个解呗。

所以不同的出发点,就有可能找到不同的解,这就是局部收敛性。

意思是:每个方程中把所有和有关的用一个变量代替,所有有关的用一个变量代替,即方程1中用:,但是很明显方程2的第一项两个变量相乘,没法用变量代替,并且,即使在方程2中能代替,那么就会有和,这样总未知数变成4个而方程只有2个,还是解不了。

所以,非线性方程组不可能用简单的线性变量代换来解。

无约束最优化中行列修正拟牛顿法的计算效能和最佳换元周期

无约束最优化中行列修正拟牛顿法的计算效能和最佳换元周期

无约束最优化中行列修正拟牛顿法的计算效能和最佳换元周期郑新宇;刘停战【摘要】A row -column sync updating quasi -Newton method for solving unconstrained optimization problems is considered. And we propose the speed of convergence of the new algorithm. By studying the efficiency index,the optimal update period of this method is given and numerical experiments are carried out. This method is also applicable to large scale symmetric nonlinear equations.%提出了一类适用于求解无约束最优化问题的行列同步修正算法,得到了新算法的收敛阶,通过优化算法的计算效能指数给出算法的最佳换元周期,并进行了数值比较试验。

该算法同样适用于求解大型对称非线性方程组。

【期刊名称】《中国传媒大学学报(自然科学版)》【年(卷),期】2015(000)006【总页数】5页(P35-39)【关键词】无约束最优化;拟牛顿法;换元周期【作者】郑新宇;刘停战【作者单位】中国传媒大学理学院,北京100024;中国传媒大学理学院,北京100024【正文语种】中文考虑无约束最优化问题:其中f(x):Rn→R二次连续可微。

如果利用牛顿法求解该问题,则需要计算f(x)的Hessen矩阵或其逆阵,问题规模较大时工作量十分可观。

而拟牛顿法则是以各种修正矩阵去近似代替Hessen矩阵或它的逆阵,算法的计算复杂性明显下降。

本文中提出了一类行列同步修正拟牛顿算法,每次修正近似矩阵中的几行及这几行对应的几列,其修正矩阵满足拟牛顿方程,每次修正的函数求值次数与PSB,DFP,BFGS等修正算法相同,且保持了原有的对称性,并在一定的条件下,获得了新算法的收敛阶,数值试验表明这是一个较为理想的修正算法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数值优化》实验报告
实验[2] [修正牛顿法]
专业学号姓名日期
1 实验目的
练习matlab程序设计,深刻理解修正牛顿法,通过计算机计算迭代计算近似解
2 实验内容
利用程序求解无约束优化问题
f(x)=100(x1^2-x2^2)^2+(x1-1)^2在R^2上的最小值
3 算法设计
Function[x,val,k]=revisenm(fun,gfun,hess,x0)
功能:用牛顿修正法求解无约束问题:min f()
输入:x0是初始点,fun gfun hess分别是求目标函数值梯度hesse矩阵函数输入:x val 分别是近似最优点和最优值,k是迭代次数
4 程序代码
(fun,x0)+sigma*rho^m*g'*d)
mk=m;break;
end;
m=m+1;
end;
x0=x0+rho^mk*d;
val=feval (fun,x0);
g0=g; d0=d;
k=k+1;
end;
x=x0;
val=feval (fun,x)
function f=fun(x)
f=100*(x(1)*x(1)-x(2)*x(2))^2+(x(1)-1)^2;
end;
function g=gfun(x)
g=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1),-200*(x(1)^2-x(2))]'; end;
5 运行结果
有未知错误,暂时没有运行出正确结果
6 结果分析
选初始值x0=[-1.2 1]
没有运行出正确结果。

程序可以运行,但是没有正确结果,程序存在bug 修正牛顿法避免了牛顿法的缺陷,使得在每一个迭代点处都保证f下降。

相关文档
最新文档