当前位置:文档之家› 迭代法解非线性方程

迭代法解非线性方程

数学软件
求解非线性方程 的迭代法
一、迭代法原理 二、弦截法
三、牛顿法
四、小结
求解非线性方程的迭代法
一、迭代法原理
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;
相关主题