迭代法解非线性方程
数学软件
求解非线性方程 的迭代法
一、迭代法原理 二、弦截法
三、牛顿法
四、小结
求解非线性方程的迭代法
一、迭代法原理
1. 迭代法的思想
迭代法是数值计算中的一类典型方法, 不仅用于方程求根,而且可用于方程组求解, 矩阵求特征值等许多问题。
迭代法的基本思想是一种逐次逼近的方法。 首先取一个粗糙的近似值,然后用同一个递推 公式,反复校正这个初值,直到满足给定的精 度为止。迭代法的关键在于构造递推公式。
(x) 的不动点
数
当迭代序列收敛时,称迭代公式收敛或迭代收 敛,否则称迭代发散。 这种求非线性方程根的方法称为迭代法。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 迭代法的收敛性
关于迭代法的收敛性与迭代函数之间的关系, 我们不加证明地给出如下几个定理。
定理 1
设( x)在区间[a,b]上具有一阶连续的导数,
(3)如此下去,直到|xn-xn-1|< , 就可认为xn为 f
(x)=0在区间[a,b]上的一个根。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 弦截法的迭代公式
x1
a
f
ba (b) f (a)
f (a),
xk1 xk1
a b
f f
xk a (xk) f
xk b (xk) f
(a) (b)
xk1xkff'((x xkk)),k1,2,
求解非线性方程的迭代法
3.迭代法的局部收敛性
定理 2
设方程 x (x)有根 x *,且在 x *的某个邻域 D { x x x * }内( x)存在一阶连续的导数,
那么
(1)当 x D ,| '( x) | 1时,迭代公式 xk1 ( xk )
是局部收敛的;
(2)当 x D ,| '( x) | 1时,迭代公式 xk1 ( xk )
目录 上页 下页 返回 结束
求解非线性方程的迭代法
构造 f (x) = 0 的一个等价方程:x (x)
从某个近似根 x0 出发,计算
xk1 (xk) k = 0, 1, 2, ... ...
得到一个迭代序列
xk
k0
迭代公式
迭
f (x) = 0 等价变换 x = (x)
代 函
f (x) 的零点
function [root,n]=chord_cut2(f,a,b,e)
%弦截法求函数f在区间[a,b]上的一个零点 %f函数名,a区间左端点,b区间右端点,e根的精 度,root函数的零点,n迭代次数
目录 上页 下页 返回 结束
求解非线性方程的迭代法
例 1 用弦截法求方程ln x x 2在区间[1,4]上 的一个根.
目录 上页 下页 返回 结束
求解非线性方程的迭代法
三、牛顿法
1. 牛顿法的基本思想
用线性方程来近似非线性方程,即采用 线性化方法, 对于非线性方程 f (x)=0 ,将 f (x) 在 xk 处 作 Taylor 展开,去掉高阶项后得
f ( x ) f ( x k ) f ( x k ) x ( x k ) 如果f(xk)≠0,用xk+1代替x,由f(x)=0可得 下列迭代公式
f (a), f (b),
f (a) f (xk)0 f (a) f (xk)0
目录 上页 下页 返回 结束
求解非线性方程的迭代法
3.弦截法的Matlab编程实现 function root=chord_cut(f,a,b,e)
%弦截法求函数f在区间[a,b]上的一个零点 %f函数名,a区间左端点,b区间右端点,e根的精 度,root函数的零点
显然,p越大收敛越快。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
4.收敛的阶
定理 3 若( x)在 x *附近的某个邻域内有 p( p 1)
阶连续导数,且
( x*) x*,'( x*) 0, , ( p1)( x*) 0, ( p) 0
则对一个任意接近 x*的初始值,迭代公式
xk1 ( xk )是 p阶收敛的,且有
且满足下面 2 个条件:
(1)当 x [a,b]时,( x)[a,b];
(2)存在正常数 L 1,使得对任意 x [a,b],有
| ( x) | L。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 迭代法的收敛性定来自 1那么(i)方程 x ( x)在[a,b]上有唯一根x*;
(ii)对任意 x0 [a,b],迭代公式 xk1 ( xk )收
是发散的。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
4.收敛的阶
为了进一步研究收敛速度问题,引入阶的 概念:
记ek xk x *,如果
lim
k
ek 1 ekp
c
0
(p N)
则称序列{ xk } 是 p 阶收敛的。
特别地,1阶收敛称为线性收敛,
2阶收敛称为平方收敛;
若p=1,c=0时,通常称为超线性收敛.
敛,且lim k
xk
x *;
(iii)对任意的k,有|
xk
x*
|
L 1 L
|
xk
xk 1
|;
(iv)对任意的k,有|
xk
x*
|
Lk 1 L
|
x1
x0
|;
(v)
lim xk1 x * ( x*)。
k xk x *
目录 上页 下页 返回 结束
求解非线性方程的迭代法
在实际计算中,对于给定的允许误差 ,当 L较小 时,常以前后两次迭代近似值 xk , xk1满足
| xk xk1 |
来终止迭代。定理 1 结论中的(iii)、(iv)、(v) 分别称为误差后验估计式、误差先验估计式、渐 进误差估计式。
定理1的两个条件有时较难验证也较难满足, 这时常用的是局部收敛条件。 所谓局部收敛,指的是迭代公式在x*的某个邻 域是收敛的。 关于局部收敛有如下的定理。
目录 上页 下页 返回 结束
lim
k
xk1 x * ( xk x*)p
( p)( x*)
p!
定理3可以利用泰勒展开式加以证明
目录 上页 下页 返回 结束
求解非线性方程的迭代法
二、弦截法
1. 弦截法的算法过程
(1)过两点(a,f (a)),(b,f (b))作一直线,它与x轴 有一个交点,记为x1; (2)如果f (a)f (x1)<0,过两点(a,f (a)),(x1,f (x1 )) 作一直线,它与x轴的交点记为x2, 否则过两点 (b,f (b)),(x1,f (x1 ))作一直线,它与x轴的交点记 为x2;