Broyden方法解非线性方程组

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

用Broyden 方法求解非线性方程

沈欢

北京大学工学院,北京100871

2011年10月26日

摘要

用Broyden 方法求解给定的非线性方程组。

1问题描述

用Broyden 方法计算非线性方程组(x 1+3)(x 32−7)+18=0

(1)sin (x 2e x 1−1)=0(2)

的解,取初始猜测为−→x 0

=(−0.5,1.4)T 。2问题分析

通过观察不难看出(0,1)点是方程的一个精确解。取初始猜测−→x 0=(−0.5,1.4)T 在精确解附近,可以用Broyden 方法求解。设:−−−−−−→F (x 1,x 2)=F 1(x 1,x 2)−→i +F 2(x 1,x 2)−→j 其中F 1(x 1,x 2)=

(x 1+3)(x 32−7)+18;F 2(x 1,x 2)=sin (x 2e

x 1−1)。3Broyden 算法

Broyden 算法类似于牛顿方法,它通过在已知的雅可比矩阵上加上一个修正项得到新的雅可比矩阵,从而避免了牛顿方法计算雅可比矩阵的复杂度。Broyden 算法如图一所示。Broyden 算法说明:a )初始迭代点取−→x 0

=(−0.5,1.4)T ;初始的雅可比矩阵的近似矩阵取为真实的雅可比矩阵,即:A =∇F (−→x )= x 32−73(x 1+3)x 22cos (x 2e x 1−1)∗x 2∗e x 1cos (x 2e x 1−1)∗e x 1

(3)1

图1:Broyden方法的算法简图

A0=∇F(−→x)=

−4.256014.7000

0.83950.5996

(4)

取精度为10−8。并计算得到−→x1=[−0.0553,1.0281]T。

b)在每步迭代中用−→

x k和−−→

x k−1来估计新的雅可比近似矩阵。

A k=A k−1+g k−A k−1.y k

y

k

.y k

∗y T k(5)

其中:g k=F(−−→

x k−1)−F(−→

x k),y k=−−→

x k−1−−→

x k。

c)解线性方程

A k∗−→s=−F(−→

x k)(6)得到位移向量−→

x k,从而计算出新的迭代点;

−−→

x k+1=−→

x k+−→s(7) 4计算结果

调用所编写的函数[roots,flag]=Broyden,得到结果roots=[0.0000,1.0000]T,flag=6。说明,当初值取−→x0=(−0.5,1.4)T时,经过6次迭代得到该非线性方程组满足精度要求的解x1=0.0000,x2=1.0000。与理论解比较,Broyden方法给出的结果非常准确,且迭代次数较少,收敛速度很高。

2

参考文献

[1]汤华中,《数值方法:原理、算法和应用》讲义.

3

相关文档
最新文档