您的当前位置:首页正文

非线性方程的解法2-2

2023-04-02 来源:爱go旅游网


§2.6 非线性方程组的简单迭代法

非线性方程组的简单迭代法与一元非线性方程 的迭代法有相似之处。

为简单起见,以二元方程组为例。 已知二元非线性方程组:

f1x1,x20  (2-17)

f2x1,x20将式(2-17)改写为

x11x1,x2  (2-18) x22x1,x2式(2-18)可以简记为

XX (2-19) 其中:Xx1,x2

将(2-19)写成迭代格式:

X(k1)X(k) (2-20)

T在求解区间内任取初值X(0),按式(2-20)迭代,如果 迭代序列X(k)最终收敛到X*,满足X*X*,

则X*即为原方程的解。而如果迭代序列不收敛, 则不能说明原方程无解,仅说明该迭代法失败。

在给出收敛性定理之前,首先定义 雅可比(Jacobi)矩阵:

111xx2xn1222 Jx1x2xn 简记:J

nnnxnx1x2 (2-21)

定理2-2:设X*是XX的解,X在

RXXX*内连续可微,且

XM1,则对任何在R中的初始向量X(0), 迭代X(k1)X(k)产生的序列X(k)都收敛于X*, 且有误差估计:

1Mk(k)(k1)(k)X*XXXX(1)X(0)

1M1M (2-22)

定理2-2可以看作是定理2-1对于非线性方程组 的推广。



[例题2-4] 用简单迭代法求如下方程组的根。

330x1xy6x30R: 3 3xy6y200y1解:改写原方程组为

1313xxy1x,y62 

11yx3y32x,y63容易验证:当XR时,XR。

实际上,当X(0)x0,y0R时,有

131113133y0, x0y0 0x063666根据1x,y、2x,y表达式,就有

1511 xk, yk

2662即,以后各次迭代X(k)均在此区域内。

再考察雅可比矩阵:

11x2y2xy222 XJ2 xy22y22xT按上面确定的X(k)取值区间,计算该矩阵的行和范数: x2y2x2y2 Xmax,0.473M1

2211根据定理2-2,取初值x0、y0,则迭代

221313xx,yxy1kkkkk162 

1133yk12xk,ykxkyk63收敛,计算结果如下:

X(1)0.541666667,0.333333333T

X(8)0.532370397,0.351257464TT

X(9)0.532370377,0.3512574501X(9)X(8)38.108 X*X(8)1M

§2.7 非线性方程组的牛顿法

解非线性方程组的牛顿法,属于线性化的方法,

它是将非线性方程组以一线性方程组来近似,由此 构造一种迭代格式,用以逐次逼近最终的解。 考虑如下非线性方程组

f1x,y0  (2-23)

fx,y02设已知式(2-23)解的一组近似值x0,y0,在 此近似值附近将非线性函数f1、f2做级数展开, 仅保留线性项: f1x,yf1x0,y0xx0f1x0,y0yy0f1x0,y0xy(2-24) f2x,yf2x0,y0xx0f2x0,y0yy0f2x0,y0xy令:

xxx0 , yyy0 (2-25) 将式(2-24)、(2-25)代入到式(2-23),得到一个关于 x、y的线性方程组

xfx,yyf1x0,y0f1x0,y0100xy(2-26) xf2x0,y0yf2x0,y0f2x0,y0xy如果式(2-26)的系数行列式不等于零,即

f1x0,y0f1x0,y0xy0 (2-27) Jfx,yfx,yx200y200那么,就可从式(2-26)解线性方程组求得x、y, 再由式(2-25)得到原非线性方程组的一组新近似值:

xx0x 1 (2-28)

y1y0y以x1,y1代替x0,y0,重复以上过程,直至满足 条件:

maxf1,f2 (2-29)

为止。最后得到的近似值即为所求解。这里的是 给定的允许误差。

可以证明,在式(2-27)条件下,当初值充分接 近原方程的解时,牛顿迭代过程收敛速度很快。但 如果初值不好,很有可能发散。

§2.8 非线性方程组的最速下降法

最速下降法属于求函数极小值的方法,它是由 已知非线性函数构造一个模函数,然后求出模函数 的极小值点,而此极小值点就是非线性方程组的一 组解。

一、计算方法

设已知非线性方程组

f1x,y0  (2-30)

f2x,y0构造模函数

x,yf1x,y2f2x,y (2-31)

2显然,方程组(2-30)的解是模函数x,y的零极小 值点,反之亦然。因此,可以通过求x,y的零 极小值点来得到方程组(2-30)的解。

模函数x,y在几何上是一个空间曲面,它 与xoy平面相切的点即是它的零极小值点。 见图2-8(a)。

图2-8 最速下降法

如果从求解区间内的某点x0,y0出发,沿着 使值下降的方向行进,一直降到它的零极小值点, 那么就可以得到所求问题的解。

在一点处等高线的法向是函数的梯度方向

, G (2-32) xyT

是使值上升最快的方向,因此其反方向G就是 下降最快的方向。最速下降法就是沿着这样的方 向来逐步下降值从而求解的,因此得名。

具体做法如下:设x0,y0是解的一个近似值, 计算在此点的梯度 G0gx0,gy0T (2-33)

其中

f1f22f1f2gx0xxx00 

f1f2g2f1f2y0y0y0y角标“0”表示括号内的函数在x0,y0点取值。

从x0,y0点出发,沿该点负梯度方向G0 跨出一适当步长,得到一组新的近似值

x1x0gx0  (2-34)

yyg0y01参数用来调整步长,其值应使新点x1,y1是

x,y在此G0方向上的相对极小值点,即

x1,y1x0,y0 (2-35) 为了求得恰当的值,将x1,y1在x0,y0 附近作级数展开,并略去3及高次项,得到的

近似式

x0gx0,y0gy022f1f12f1f1gy0gy0f12f1gx0gx0xyxy

2fffff222f2gx02gy022gx02gy02xyxy (2-36)

为使x1,y1取极小,令

0x0gx0,y0gy00 (2-37) 由此解得

f1f1f2f2gx0gy0gy0f1gx0f2xyxy 22f2f2gx0f1gy0f1gy0gx0xyxy0 (2-38)

将值代入到式(2-34)得到新点x1,y1,以此作为 沿G0方向的相对极小值点的近似值。

不过这里要注意,如果所得值能使式(2-35) 成立,则就取该值;否则,就要缩小值,例如 取2代入式(2-34),直至式(2-35)满足为止。

这样就完成了第一步计算,然后以x1,y1取代

x0,y0重复以上过程,直至降至充分小为止。

关于值的确定,上面是较精确的作法,下面 是简化方法:

将x1,y1在x0,y0附近作级数展开时, 只保留的一次项(上面作法是保留到2项),得到 的近似式

x1,y1x0,y0x1x0y1y0xy0x0,y0gx0gy0xy0 由于目标是使x1,y1取极小,可令 x1,y10 由此解得

x0,y0x0,y022gx0xgy0y0xy0

10224f2f1f2f1ffff1212xxyy0 (2-39)

以此值替换式(2-38)继续前述过程。

二、几点说明

1、一般来讲,最速下降法对任意初值都能收 敛,而且开始阶段收敛较快,但接近真解时,收敛 速度十分缓慢,这与牛顿法刚好相反。因此,在实 际计算中,可将两者结合:开始采用最速下降法, 离真解较近时,改用牛顿法。

2、对难于求偏导数或偏导数计算过于繁复的 问题,可以用差商来近似微商(详见本书第五章):

fixh,yfix,yfihx i1,2

fix,yhfix,yfihy关于步长h可以这样选取:

开始如取h103,在第k次迭代时,取

31 hkminxxk1,yk1 10,ma10f12f22

其中xk1xk1xk2;yk1yk1yk2为上一次 的迭代修正量。

3、因为机器字长的原因,当模函数值较小 时,可能影响计算精度,这时可取 f1f2

4、关于非线性方程组的蒙特卡洛解法详见本 书第八章。

因篇幅问题不能全部显示,请点此查看更多更全内容