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

迭代法解非线性方程

xk 1 f ( xk ) xk ( xk xk 1 ), f ( x k ) f ( x k 1 ) k 1,2,
此为割线法的迭代公式。 其几何意义就是用割线来代替切线。它的收敛 速度比切线法慢, 而且需要两个初值开始迭代。 将割线法的迭代公式编程实现,要求输出迭代 次数。 用割线法求方程 x 3 3 x 1 0 在 x0 =2 附近的 根,误差限为10 4 。
xk 1 x * ( x*)。 (v) lim k x x * k
目录 上页 下页 返回 结束
求解非线性方程的迭代法
在实际计算中,对于给定的允许误差 ,当 L 较小 时,常以前后两次迭代近似值 xk , xk 1 满足 | xk xk 1 | 来终止迭代。定理 1 结论中的(iii)(iv)(v) 、 、 分别称为误差后验估计式、误差先验估计式、渐 进误差估计式。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
例 2 用牛顿法求方程 x x 3 2 0 在区间[0.5,2] 上的一个根.
目录 上页 下页 返回 结束
求解非线性方程的迭代法
四、小结 1.迭代法原理 2.弦截法 3.牛顿法
目录 上页 下页

割线法: 用 f ( x )在 xk 1 , xk 两点的差商代替 f '( xk ) ,得
目录 上页 下页 返回 结束
求解非线性方程的迭代法
3.弦截法的Matlab编程实现 function root=chord_cut(f,a,b,e)
%弦截法求函数f在区间[a,b]上的一个零点
%f函数名,a区间左端点,b区间右端点,e根的精 度,root函数的零点
function [root,n]=chord_cut2(f,a,b,e)
目录 上页 下页 返回 结束
求解非线性方程的迭代法
y
( xk , f ( xk ))
x*
y f (x )
xk 1 x k
x
目录 上页 下页 返回 结束
求解非线性方程的迭代法
3. 牛顿法的收敛速度
f ( x) ( x) x , f '( x )
经计算得 牛顿法的 迭代函数
f ( x*) f "( x*) f "( x*) ' ( x*) , "( x*) 2 ( f ' ( x*)) f ' ( x*)
目录 上页 下页 返回 结束
求解非线性方程的迭代法
4.收敛的阶
定理 3 若 ( x ) 在 x * 附近的某个邻域内有 p( p 1) 阶连续导数,且
( x*) x*, '( x*) 0,, ( p1) ( x*) 0, ( p ) 0
则对一个任意接近 x* 的初始值,迭代公式
%弦截法求函数f在区间[a,b]上的一个零点
%f函数名,a区间左端点,b区间右端点,e根的精 度,root函数的零点,n迭代次数
目录 上页 下页 返回 结束
求解非线性方程的迭代法
例 1 用弦截法求方程 ln x x 2 在区间[1,4]上 的一个根.
目录 上页 下页 返回 结束
求解非线性方程的迭代法
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 弦截法的迭代公式
ba x1 a f (a ), f (b) f (a ) xk a xk 1 a f ( x ) f (a ) f (a ), k xk b x b f (b ), k 1 f ( xk ) f ( b ) f ( a ) f ( xk ) 0 f ( a ) f ( xk ) 0
xk 1 f ( xk ) xk , k 1,2, f ' ( xk )
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 牛顿迭代公式
f ( xk ) xk 1 xk , k 1,2, f ' ( xk )
称上式为方程f(x)=0的牛顿迭代公式, 简称 牛顿法。 牛顿法具有明显的几何意义, y f ( xk ) f ' ( xk )( x xk ) 是曲线在点(xk, f(xk))处的切线方程。 xk+1就是切线与x轴交点的横坐标, 所以牛顿法就是用切线与x轴交点的横坐标 近似代替曲线与x轴交点的横坐标。 因此牛顿法也称切线法。
目录 上页 下页 返回 结束
xk 1 ( xk )是 p 阶收敛的,且有
xk 1 x * ( p ) ( x*) lim p k ( x x*) p! k
定理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; (3)如此下去,直到|xn-xn-1|< , 就可认为xn为 f (x)=0在区间[a,b]上的一个根。
三、牛顿法
1. 牛顿法的基本思想
用线性方程来近似非线性方程,即采用 线性化方法, 对于非线性方程 f (x)=0 ,将 f (x) 在 xk 处 作 Taylor 展开,去掉高阶项后得
f ( x ) f ( xk ) f ( xk )( x xk )
如果f(xk)≠0,用xk+1 代替x,由f(x)=0可得 下列迭代公式
定理 1 设 ( x ) 在区间[a , b]上具有一阶连续的导数, 且满足下面 2 个条件: (1)当 x [a , b]时, ( x ) [a , b]; (2)存在正常数 L 1,使得对任意 x [a , b],有
| ( x ) | L 。
目录 上页 下页 返回 结束
因此,若x*是f(x)=0的单根,则牛顿法是至少2 阶收敛的; 进一步分析还可以发现,当x*是f(x)=0的重根 时,牛顿法只是1阶收敛的, 并且重数越高,收敛越慢。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
4. 牛顿法的编程实现
function root=newton1(f,a,b,e)
数学软件
求解非线性方程 的迭代法
一、迭代法原理
二、弦截法
三、牛顿法
四、小结
求解非线性方程的迭代法
一、迭代法原理
1. 迭代法的思想
迭代法是数值计算中的一类典型方法, 不仅用于方程求根,而且可用于方程组求解, 矩阵求特征值等许多问题。 迭代法的基本思想是一种逐次逼近的方法。 首先取一个粗糙的近似值,然后用同一个递推 公式,反复校正这个初值,直到满足给定的精 度为止。迭代法的关键在于构造递推公式。
求解非线性方程的迭代法
2. 迭代法的收敛性
定理 1 那么 (i)方程 x ( x )在[a , b]上有唯一根 ; (ii)对任意 x0 [a , b],迭代公式 xk 1 ( xk ) 收 敛,且 lim xk x *;
x*
k
L | x k x k 1 | ; (iii)对任意的 k , 有| xk x* | 1 L Lk (iv)对任意的 k , 有| xk x* | | x1 x0 |; 1 L
等价变换
x = (x)
(x) 的不动点
迭 代 函 数
当迭代序列收敛时,称迭代公式收敛或迭代收 敛,否则称迭代发散。 这种求非线性方程根的方法称为迭代法。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
2. 迭代法的收敛性
关于迭代法的收敛性与迭代函数之间的关系, 我们不加证明地给出如下几个定理。

定理1的两个条件有时较难验证也较难满足, 这时常用的是局部收敛条件。 所谓局部收敛,指的是迭代公式在x*的某个邻 域是收敛的。 关于局部收敛有如下的定理。
目录 上页 下页 返回 结束
求解非线性方程的迭代法
3.迭代法的局部收敛性
定理 2 设方程 x ( x ) 有根 x * ,且在 x * 的某个邻域
目录 上页 下页 返回 结束
求解非线性方程的迭代法
构造 f (x) = 0 的一个等价方程:x 从某个近似根 x0 出发,计算
( x)
xk 1 ( xk )
得到一个迭代序列
k = 0, 1, 2, ... ... 迭代公式
xk k 0

f (x) = 0 f (x) 的零点
%牛顿法求函数f在区间[a,b]上的一个零点
%f函数名,a区间左端点,b区间右端点,e根的 精度,root函数的零点 function [root,n]=newton2(f,a,b,e) %牛顿法求函数f在区间[a,b]上的一个零点 %f函数名,a区间左端点,b区间右端点,e根的 精度,root函数的零点,n迭代次数
目录 上页 下页 返回 结束
求解非线性方程的迭代法
4.收敛的阶
为了进一步研究收敛速度问题,引入阶的 概念:
记 ek xk x *,如果 ek 1 lim p c 0 ( p N ) k e k 则称序列{ xk } 是 p 阶收敛的。
特别地,1阶收敛称为线性收敛, 2阶收敛称为平方收敛; 若p=1,c=0时,通常称为超线性收敛. 显然,p越大收敛越快。
D { x x x * }内 ( x ) 存在一阶连续的导数,
那么 (1)当 x D , | ' ( x ) | 1 时,迭代公式 xk 1 ( xk ) 是局部收敛的; (2)当 x D , | ' ( x ) | 1 时,迭代公式 xk 1 ( xk ) 是发散的。
相关主题