非线性方程的求根方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例2.8确定悬链线方程
已知 y(50)=y(0)+10
求解方程:
50 a cosh a 10 0 a
Biblioteka Baidu
a=126.6324
割线法:
f=inline(‘u.*cosh(50/u)-u-10'); a0=120;a=150;k=1; y0=f(a0);y=f(a); while abs(a0-a)>0.0001 t=a-y*(a-a0)/(y-y0); a0=a;y0=y; a=t;y=f(a); k=k+1; end Ans K=6, a=126.6324
切线法:
f=inline('u.*cosh(50/u)-u-10'); f1=inline('cosh(50/u)50*sinh(50/u)/u-1'); a0=150;y0=f(a0); k=1;er=1; while er>0.0001 t=a0-f(a0)/f1(a0); er=abs(t-a0);a0=t;k=k+1; end Ans K=6, t=126.6324
取x0=0.5作为迭代初值。迭代结果如下表
k 0 1 2 3
xk
0.5
0.57102
0.56716
0.56714
经过3次迭代后得x 3= 0.56714,比较例2.3和例2.5可发 现牛顿迭代法的收敛速度是相当快的。
的近似值,精度 =106. 例2.6 用牛顿法求 115
解 该 问 题 可 转 化 为用 应牛 顿 法 解 下 列 二 次程 方 x 2 115 0 的 正 根 , 相 应 的 牛 顿代 迭公 式 是
非线性方程的求根方法
Newton迭代格式
Newton迭代法的收敛性
Newton迭代法的变形 数值实验练习题
牛顿法是方程求根问题的一个极其基本的、十 分重要的算法。 基本思想:是将非线性方程f(x)=0逐步线性化而 形成迭代公式。 具体作法:
已知方程 f(x)=0的根 xk,将 f(x)在xk处作一阶泰勒展开
由定理2.5知牛顿迭代公式具有局部收敛性。
由定理2.6知 Newton迭代法至少平方收敛。因此用 Newton法求单根的收敛速度是较快的。
[ f ( x )]2 f ( x ) f ( x ) f ( x ) f ( x ) 2[ f ( x )]2 f ( x ) ( x ) [ f ( x )]3
由此可知, 平方根迭代 是 平方收敛.
Newton迭代法的局部收敛性
牛顿法可以看成关于方程
f ( x) x ( x) ( x ) x f ( x )
的迭代公式
如果x*为方程f(x)=0 的一个单根,则有 f(x*)=0, f ’(x*) ≠ 0 而
( x*) f ( x*) f ( x*) /[ f ( x*)]2 0
设C > 0,
x C
x2 – C = 0
令 f(x) = x2 – C , 则 f ( x ) 2 x
牛顿迭代法求解 x2 – C = 0 的计算格式
xk 1
化简,得
x C xk 2 xk
2 k
x k 1
1 C [ xk ] 2 xk
1 C 例1 平方根迭代 xk 1 [ xk ] (k =0, 1, · · · · · ) 2 xk 的收敛性证明及收敛阶估计.
牛顿法的计算步骤: 1)给出初始近似值x0,及精度 2)计算:按迭代公式
f ( x0 ) x0 x1 f ( x 0 )
计算出x1 3)若 x1 x0 ,则转向4);否则 x1 x0 转向2) 4)输出满足精度的根x1,结束
例2.5 用牛顿法解方程 x=e–x
在 x0=0.5 附近的根。
则
* f ( x ) * ( x ) f ( x * )
* f ( x ) 0 就有 ( x* ) 0 所以只要
由定理2.6知 Newton迭代法平方收敛。 由于牛顿迭代法是局部收敛的,故初值x0应充分靠 近根x*才能保证收敛,这在一般情况下不容易做到。 实用中可先用二分法做求根预处理,二分若干次后 得到较靠近根x*的近似根x0,再用此根作为牛顿迭代 法的初值来求根,可以达到取长补短的作用。
解 首先将方程 x e x改 写 为 xe x 1 0 于是 f ( x ) xe x 1 f ( x ) (1 x )e x 相应的牛顿迭代公式为
xk e xk 1 xk 1 xk (k = 0, 1, · · · · · ) xk (1 xk )e
解 对k≥0, 当 xk > 0时
xk 1
1 2 [ xk C / xk ] C 2
xk 1 C
x k 1
(k =0, 1, · · · · · )
2 k
x 1 1 C [ xk ] [ xk ] xk ( k > 0) 2 xk 2 xk
数列 { xk }单减有下界, 故必有极限. 设为x*, 1 C 对递推式 x k 1 [ x k ] 2 xk 取极限, 有
x1 x*
f ( x1 ) x2 x1 ( x1 x0 ) f ( x1 ) f ( x0 ) xk 1 f ( xk ) xk ( x k x k 1 ) f ( x k ) f ( x k 1 ) ( k =1,2,· · · · · · ·)
x y a cosh a
xk 1
1 115 ( xk ) 2 xk
(k = 0, 1, · · · · · )
取初值x 0= 10,经4次迭代便得所要求的近似值
115 10.723805
定理(全局收敛性): 若函数f(x) 在[a,b] 上满 足条件
( 1 ) f(a ) f(b ) < 0 ; (2)f ’(x) ≠0 (3)f”(x) 在[a,b]上连续且不变号(恒为 正或恒为负); (4)取x0∈[a,b] 使得 f(x0)f ”(x0) > 0。 则方程 f(x) = 0 在[a,b] 上有唯一根 x*,且 由初值x0按牛顿迭代公式求得的序列{ xk} 二 阶收敛于x*。
1 * C x [x * ] 2 x
*
x C
*
1 C xk 1 C [ xk ] C 2 xk 1 1 2 2 [ xk 2 xk C C ] ( xk C ) 2 xk 2 xk
xk 1 C 1 2 2 xk ( xk C )
| xk 1 C | 1 lim 2 k | x C | 2 C k
到迭代公式
xk 1
f ( xk ) xk ( x k x0 ) f ( x k ) f ( x0 )
弦截公式
p0
xk xk+1 pk x* x0
Newton迭代法的变形-弦截法 设x*是方程 f(x)=0 的根, x0和x1是x*附近 的两个点. 曲线 y=f(x) 在点(x0, f(x0)) x0 和点 (x1,f(x1))处的割线 与x轴交点 f ( x1 ) f ( x0 ) ( x x1 ) y f ( x1 ) x1 x0 y 0
牛顿迭代法的收敛域问题:
用牛顿迭代法求解复数方程 z3 – 1 = 0,该方程在复 平面上三个根分别是 z1 = 1
1 3 z2 i 2 2
1 3 z3 i 2 2
选择中心位于坐标原点,边长 为2的正方形内的任意点作初始 值,进行迭代,把收敛到三个 根的初值分为三类,并分别标 上不同颜色(例如红、黄、 蓝)。对充分多的初始点进行 实验,绘出牛顿迭代法对该方 程的收敛域彩色图。
取 x0=0,
3 xk xk 3 xk 1 xk 2 3 xk 1
(k = 0, 1, · · · · · )
y x1 x2 x3 x0 x
y=x3 – x – 3
Newton迭代法陷入死循环的另一个例子
f’<0, f”>0
f’>0, f”>0
f’>0, f”<0
f’<0, f”<0
Newton迭代法的变形-弦截法
牛顿法的突出优点是收敛速度快,但它有个明 显的缺点,就是每迭代一次都要计算导数f’(xk), 当f(x) 比较复杂时,计算f’(xk)可能十分麻烦。 为了避免牛顿法中的导数计算,我们用差商
f ( x k ) f ( x0 ) 替换牛顿公式中的导数f’(xk),则得 x k x0
f ( x ) f ( xk ) f ( xk )( x xk )
所以f(x)=0可近似表示为
f ( xk ) f ( xk )( x xk ) 0
线性方程
记其根为xk+1,则xk+1是方程f(x)=0的一个新的近似根
xk 1
f ( xk ) xk f ( xk )
这就是著名的牛顿迭代公式,相应的迭代函数是
(k = 0, 1, 2, · · · · · )
f ( x) ( x) x f ( x )
几何意义:牛顿法是在x*的附近以xk做为第k次迭代
值,以y=f(x)在点(xk, f(xk))的切线与x轴的交点xk+1作 为f(x)=0方程的根x*的第k+1次迭代近似值,如此反 复下去,逐步逼近方程f(x)=0的根x*。
缺陷 1.被零除错误 方程: f(x)=x3 –3x + 2 = 0
在重根x*=1附近,f’(x)近 似为零 2.程序死循环 对 f(x) = arctan x 存在 x0,Newton迭代 法陷入死循环
x 3-3 x+2 200
100
0
-100
-200 -6 -4 -2 0 x 2 4 6
y = arctan x
所以牛顿法又称切线法
y f ( xk ) f ( xk )( x xk )
y=0
xk 1
y
f ( xk ) xk f ( xk )
x*
o xk xk+1
xk+1比xk更接近于x*
x
y=f(x)
几何意义:以切线代替曲线,求根 x*的近似值
牛顿迭代法的一个应用——求正数平方根