资源描述:
《非线性方程组求解的三种Newton法比较.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第27卷第8期井冈山学院学报(自然科学)VoI.27No.82006年8月JoulnaIofJinggangshanUnivelsity(NatulaISciences)Aug.2006非线性方程组求解的三种Newton法比较!!!!"谢世坤!段芳!李强征!罗志扬!郑慧玲(井冈山学院1.工学院2.化学化工学院,江西吉安343009)[摘要]首先介绍了求解非线性方程组的Newton法简化Newton法和修正的Newton法,并给出了各自的实现算法然后采用VC++编写了实现上述三种算法的源程序最后通过一个实例,分析并比较了三种算法的计算量和收敛速度[关键词]Newton法非线性方程组
2、迭代法高斯法收敛[中图分类号]0241.7[文献标识码]A[文章编号]1673-4718(2006)08-0008-04n个变量n个方程的非线性方程组,其一般形将非线性映象逐步线性化,在每个迭代步中解式如下一个线性方程组,这样得到的迭代法就是线性化方f1(x1,x2,.,xn)=0法解非线性方程组(2)的Newton法的迭代公式f(x,x,.,x)=0X=X-F'(X)-1F(X),l=0,1,2,.(5)212nl+1lll(1).就是采用的线性化方法fn(x1,x2,.,xn)=0在应用Newton法解非线性方程组(2)的实际计式(1)中,fi(x1,x2,.,xn)(i=1
3、,.,n)是定义在n维算过程中,每一步计算Xl+1时,一般不直接采用(5)EucIid空间Rn中开域D上的实值函数若用向量记式计算F'(X)的逆矩阵F'(X)-1,而是对(5)式做ll[1]号,令一些处理(5)式也可写成x1f1(x1,x2,.,xn)=0f1(X)F'(Xl)(Xl+1-Xl)+F(Xl)=0,l=0,1,2,.x2f2(x1,x2,.,xn)=0f2(X)因此,Xl+1便是线性方程组X=,F(X)==...F*(Xl)(X-Xl)+F(Xl)=0(6)xnfn(x1,x2,.,xn)=0fn(X)的解则方程组(1)也可以表示为由Newton方程组(6),于是令
4、Xl=Xl+1-Xl,将F(X)=0(2)Newton法的迭代公式改写为nn0nn其中XR,FIRR,F(X)R,R为赋值空间Xl+1=Xl+Xll=0,1,2,.(7)求解非线性方程组(2)的Newton法是一个最基F'(Xl)(Xl)=-F(Xl)本而且十分重要的方法,目前使用的很多有效的迭每一步迭代均需解Newton方程组代法都是以Newton法为基础,或由它派生而来下F'(Xl)(Xl)=-F(Xl),面首先介绍几种Newton法及其算法,然后使用这是一个线性方程组,可用高斯消去法求解[2]VC++编写求解源程序,最后通过一个计算实例,说通常可用明几种牛顿法的差异Xl
5、或F(Xl)<"作为Newton法的终止迭代准则,其中",!为预先给1Newton法定的精度要求,有时也可用预先确定的最大迭代次一般地,若在包含的某邻域D内,按某种近似数M作为终止迭代条件TT意义,用线性函数记F(X)=[f1(X),.,fn(X)],X=[x1,.,xn]ll(X)=AlX+bl(3)以及雅可比矩阵近似地代替向量值函数F(X),此处Al是n阶矩阵,f1(X)f1(X)f1(X)xx.x则可将线性方程组12nll(X)=AlX+bl=0(4)f2(X)f2(X).f2(X)的解作为非线性方程组(2)的近似解F'(X)=x1x2xn.收稿日期!2006-05-17(
6、X)(X)fnfnfn(X)资助项目!井冈山学院重点学科建设资助项目..作者简介!谢世坤(1973-),男,江西永丰人,博士,副教授,校重点学x1x2xn科学术负责人,主要从事材料成形过程和成形设备及其解非线性方程组F(X)=0的Newton法的算法如下控制研究.!第27卷第8期谢世坤,段芳,李强征,等:非线性方程组求解的三种Newton法比较输入:方程组的阶数N;最大迭代次数M;迭代所示0T初值X0=[x1,.,xn];误差!或"0T2简化的Newton法输出:近似解X=[x1,.,xn]或迭代次数超过M的信息0尽管Newton法具有较高的收敛速度,但在每一1)假定已经迭代了k
7、次,已求出了Xk及F(Xk);步迭代中,要计算n个函数值f,以及n2个导数值f'2)计算形成Jacobi矩阵f'(Xk),而且要求f'(Xk)的逆阵或者f1(Xk)f1(Xk)f1(Xk)解一个n阶线性方程组,计算量很大0为了减少计xxxl12n算量,在上述Newton法中,对一切k=0,1,2,.,取lf2(Xk)f2(Xk)f2(Xk)lf'(Xk)为f'(X0),于是迭代公式便修正成为:F'(Xk)=x1x2xnl=kXk+1=Xk-Mf'(Xk)M-1f(Xk),k=0,