牛顿(NEWTON)法求根.ppt

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

0.9100
n=
5
>> newton(4,1e-6) x1 = 3.7331 n= 5
>> newton(5,1e-6) x1 = 3.7331 n= 7
>> newton(10,1e-6) >> newton(15,1e-6) x1 = x1 = 3.7331 3.7331 n= n= 17 12 注1:newton法不仅收敛的快些,而且可得到不同的解. 注2:当初始值x0远离根时,迭代次数增加了.
xk
xk+1
。 x
k+2
x*
y f (x k) f (x k) xx k
y=f(x)
y=f(x)在点(xk,f(xk))处的切线方程
y f (x k) f (x k) xx k
y
(xk,f(xk))
它与x轴交点的纵坐标为:y=0
f (xk ) f (xk ) f (xk ) x xk f (x ) k x xk
f (x k) x k 1 x k f (x k)
f (x) (f ( x ) 0 ) (x) x f (x)
f(x*)=0→ ’(x*)=0

(x f (x )f ) (x ) 2 f (x)
假定x* 是f (x)的一个单根即f(x*)=0 ,f ’(x*)≠0 , 则由上式知’(x*)=0,由局部收敛性定理知,牛顿迭 代公式是局部收敛的, 且牛顿公式在根x* 的邻近至少
3)若|x1-x0|<ε或迭代次数达到预定指定的次数N , 则转向 4);否则x1→x0,转向2); 4)输出满足精度的根x1,结束。 例:求方程3x2-ex=0的根 编写M—文件:newton.m
function y=newton(x0,esp) f (x k) x1=x0-fc(x0)/dfc(x0); x k 1 x k f (x ) k n=1; while (abs(x1-x0)>=esp)&(n<=100000) x0=x1; x1=x0-fc(x0)/dfc(x0); n=n+1; 例:求方程3x2-ex=0的根 end %dfc.m %fc.m x1 n function y=dfc(x) function y=fc(x)
称为弦截公式。 弦截公式的几何解释:
曲线y=f(x)上横坐标为xk的点记 为pk,则差商 f (xk ) f (x0) 表示弦线
xk x0
迭代公式求得的 xk+1是弦线 p 0 p k 与x轴的交点
Pk+ 0 Pk xk x0 P0
p0 pk
的斜率。
.x
1
k+2
xk+1
收敛速度
f ( x ) k x x ( x x ) ( k 1 , 2 ,... k 1 k k 0 f ( x ) f ( x ) k 0
y=3*x.^2-exp(x);
y=6*x-exp(x);
fplot('[3*x.^2-exp(x),0]',[-2,5]) 有三个根,分别在-1,1,4附近
>>newton(-1,1e-6) >>newton(0,1e-6) x1 = x1 = -0.4590 -0.4590 n= n= 5 6 >> newton(1,1e-6) x1 = 0.9100 n= 4 >> newton(2,1e-6) x1 =
§2.5 弦截法 一、弦截公式及其收敛性 为了避免牛顿法中的导数计算,可用差商来代换 公式的导数,即 f( x f( x ) k) 0 弦截公式 f'( x k) x x k 0 得到公式:
f ( x ) k x x ( x x ) ( k 1 , 2 ,... k 1 k k 0 f ( x ) f ( x ) k 0
记 x3=(x2) 如此反复计算……
即形成一迭代公式 xk+1=(xk) ,(k=0,1,2,…)
当{xk}收敛于x*, x*即是(x)的不动点,也就是原 方程的根。 (x)是连续函数,称为迭代函数 迭代公式收敛性的判断
1、迭代公式 xk+1=(xk)收敛 2、若 {xk}收敛于x* 全局收敛性
注:由于牛顿迭代法是局部收敛的,故初值x0应充 分靠近x*才能保证收敛的更快,这在一般情况下难 以做到。x0的选择可用以下三种方法: 1)使用中可用Mtalab先做出函数的图形;
2)同跨步搜索法搜索有根区间;
3)用二分法做求根预处理,二分若干次后得到比较 接近根x*的近似根x0,
然后再用牛顿迭代法来求根,可以得到取长补短的 作用。 作业:P
要提高弦截法的收敛速度,改用相邻两点的差商 来替代牛顿公式中的导数f ’(xk),故可导 出下面的迭 代公式:
f ( x ) k x x ( x x )( k 1 , 2 ,... k 1 k k k 1 f ( x ) f ( x ) k k 1
快速弦截公式
上述方法称为快速弦截法。
二、快速弦截法 要提高弦截法的收敛速度,改用相临两点的差商 来替代牛顿公式中的导数f ’(xk),故可导 出下面的迭 代公式:
f ( x ) k x x ( x x )( k 1 , 2 ,... k 1 k k k 1 f ( x ) f ( x ) k k 1
上述迭代公式是由f(x)=0的等价方程
x x ( x x ) 建立起来的 0 f( x ) f( x ) 0 f ( x ) ( x ) x ( x x ) 故迭代函数为: 0 f ( x ) f( x ) 0 * f ' (x* ) f ' ( x ) * * '( x) 1 ( x x )1 0 f (x* ) f (x0 ) f( x ) 0 x* x0
特别地,当L≤1/2时,有不等式|x*-xk|≤|xk-xk-1|,此 时,只要|xk-xk-1| <ε,就可以终止迭代,求出满 足精度要求的近似根xk。
局部收敛时阶的确定
定理:对于迭代过程xk+1= (xk) ,如果(p)(x) 在所求根x*
的邻近连续,并且’(x*)= ’’(x*) =...= (p-1)(x*) =0,(#)
f (xk ) xk1 xk f (xk )
例1:用牛顿法求下面方程的根f(x)=x3+2x2+10x-20 解 因 f ’(x)=3x2+4x+10 ,所以迭代公式为
选取x0=1,计算结果列于下表 k xk
1 1.411764706 2 1.369336471
x 2 x 10 x 20 k x x k 1 k 2 3 x 4 x 10 k k
一. Newton迭代法的基本思想
•设 xk 是f(x)=0的一个近似根,把f(x)在xk处作泰勒展开
f ' ' ( x ) 2 k f ( x ) f ( x ) f ' ( x )( x x ) ( x x ) k k k k 2 !
•若取前两项来近似代替f(x)(称为f(x)的线性化),则得 近似的线性方程
学习和了解科学计算的桥梁
上节课回顾
简单迭代法的思想
•由方程f(x)=0变换为等价方程 x=(x) (#) x*是方程x=(x)的根 x*是方程f(x)=0的根 x*为(x) 的不动点 即:x*= (x*) 先取一个估计值x0(初始值),若(x0) =x0,则 x*=x0(可能性很小)一般(x0) ≠x0, 记 x1=(x0) , 若x1≠(x1) , 记 x2=(x1) ,再用x2继续试探
(p)(x*)≠0,则该迭代过程在点x* 邻近是P阶收敛的。 该定理告诉我们,迭代过程的收敛速度依赖于迭 代函数. 如果选取当x∈[a,b] 时’(x)≠0,则该迭代过 程只能是线性收敛。 因此,简单迭代法的收敛速度一般较慢 . 有的公 式未必收敛.
§2.4 牛顿迭代法
一、 Newton迭代法的基本思想 二、牛顿法的收敛速度 三、牛顿法的几何意义 四、牛顿迭代法的步骤
误差估计式
当迭代公式xk+1=(xk) 收敛时,有误差估计式: L * x x x x | ( x ) | L 1 k k k 1 1 L k | ’(x*)|≤L<1 L * x x x x k 1 0 或| ’(x0)|≤L<1 1 L 即:只要前后两次迭代值的差值足够小,就可使近似 值xk达到任意的精度。
34
7、 8
注、牛顿迭代法的优缺点
1、优点:牛顿迭代法具有平方收敛的速度,所以在 迭代过程中只要迭代几次就会得到很精确的解。这是 牛顿迭代法比简单迭代法优越的地方。 2、缺点:选定的初值要接近方程的解,否则有可能 得不到收敛的结果。再者,牛顿迭代法计算量比较大。 因每次迭代除计算函数值外还要计算导数值。 为了避免导数的计算,我们又给出了另一种迭代 法——弦截法。
是平方收敛的。因此,收敛速度很快.
三、牛顿法的几何意义:
方程f(x)=0的根x* 在几何上解释为曲线 y=f(x)与x轴交点的横 坐标。
y
(xk,f(xk))
y=f(x)
(xk+1,f(xk+1))
# 设xk是根x*的某个近似 值,过曲线y=f(x)上横坐标 为xk的点Pk引切线与x轴相交 与xk+1,继续取点 pk+1(xk+1,f(xk+1))再做切线与x 轴相交,又可得xk+2,...。由 图可见,只要初值取的充分 靠近x*,这个序列很快就会收 敛于x*。 # Newton迭代法又称切线 法
0 f ( x ) f ( x ) f ( x )( x x ) k k k
解出x
•设 f ’(xk)≠0 ,令其解为 xk+1 ,得


f (x k) x k 1 x k f (x k)
f (xk ) x xk f (xk )
•称其为f(x)=0的牛顿迭代公式。
由牛顿迭代公式
迭代结果 k 0
f( x x 0 . 78265 k) k x x k 1 k f'( x 2 2 x k) k
1 0.884688 2 0.884675 3 0.884675
xk
0.880000
满足了精度要求
0.78265
≈0.884675
二、牛顿法的收敛速度:
其迭代函数为: 由于
y=f(x)
(xk+1,f(xk+1))
∴有:
xk
xk+1
x* 。 x
k+2
f (xk ) xk1 xk f (xk )
y=f(x)
四、牛顿迭代法的步骤
f (x k) 1)给出初始近似根x0及精度ε; x k 1 x k f (x k)
2)计算x0-f(x0)/f ’(x0)→x1;
它对应的迭代方程为
x x
f ( x) 显然是f(x)=0的同解方程 f ( x)
f (x) 故其迭代函数为 (x) x f (x)
迭代公式为:
(f ( x ) 0 )
(1)
f (x k) x k 1 x k f (x k)
应用公式(1)来解方程的方法就称为牛顿迭代法。它 是解代数方程和超越方程的有效方法之一。
f( x )
当x0充分接近x*时,0<|φ’(x*)|<1,故由前面定理 知弦截法具有局部收敛性,且具有线性收敛速度。由 此可见,弦截法的收敛速度比牛顿法慢,但它的优点 是不需要计算导数值。
f ( x ) k x x ( x x ) k 1 k k 0 f ( x ) f ( x ) 二、快速弦截法 k 0
3 k 2 k
3 1.368808189 4 1.368808189
从计算结果可以看出,牛顿法的收敛速度是很快的,
进行了四次迭代就得到了较满意的结果.
例2 计算 0.78265 的近似值。 =10-6 x0=0.88
解: 令x=
0.78265 问题转化为求ƒ(x)= x2-0.78265=0的正根
| ( x ) | L 1 x [ a , b ]
则迭代公式xk+1=(xk) 收敛
3、若(x)在x*邻近有连续的一阶导数,且| ’(x*)|<1, 则迭代公式xk+1=(xk)具有局部收敛性。
注:有局部收敛性的条件| ’(x*)|<1可用| ’(x0)|<1来近似代替。
相关文档
最新文档