数值分析-求根方程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 解: 由 k ⇒ k ≥ 3 ln10 ≥ 9.965, 2 2 故取k = 10。 ln 2
k a k [ f ( a k )的 符号] x k [ f ( x k )的 符号] b k [ f ( b k )的 符号]
0 1 2 3 4
M 9 10
三次方程求根公式一元二次方程求根四次方程求根公式3次方程求根公式2次方程求根公式高次方程求根牛顿方程求根迭代法方程求根公式三次方程求根3次方程求根
非线性方程求根
/* Solutions of Nonlinear Equations */
§1 §2 §3 §4
§5
引言 二分法 迭代法 牛顿法 劈因子法
3. 隔离区间求法
原理:若 f (x)∈C[a, b],且 f (a) · f (b) < 0,则 f (x)在 (a, b) 原理: ∈ , , 在 上必有一根。 上必有一根。 作出f 函数的草图 函数的草图, 作出 (x)函数的草图,由f (x)与x轴交点横轴标大概确定隔 与 轴交点横轴标大概确定隔 离区间。 离区间。 等价改写为f 将f(x)=0等价改写为 1(x)=f2(x),作出 1(x)、f2(x)的草 等价改写为 ,作出f 的草 由两者交点横轴标大概确定隔离区间。 图,由两者交点横轴标大概确定隔离区间。 逐步搜索法,得到满足原理条件的各个区间。 逐步搜索法,得到满足原理条件的各个区间。
n = 0,1, 2,L
显然每个小区间都有单根且有如下关系: 显然每个小区间都有单根且有如下关系:
1 1 an − bn = an −1 − bn −1 = L = n a0 − b0 2 2 a n−1 xn−1 1 | xn − xn −1 | = n +1 a0 − b0 2
⇓
bn − 1
如果取
2
∴ 取φ ( x ) =
令x0 = 4, 于是得到如下迭代序列:
2
( x − 3),即迭代格式xk +1
2
1 2 = ( xk − 3)。 2
1 2 x1 = ( x0 − 3) = 6.5 2 1 2 x2 = ( x1 − 3) = 19.625 2 1 2 x3 = ( x2 − 3) = 191.0703125 2 1 2 x4 = ( x3 − 3) = 18252.432159423828125 2 1 2 x5 = ( x4 − 3) = 166575638.36718459473922848701477 2 M
⇒ f ( x ) 有根
不动点唯一? 不动点唯一?
% % 反证:若不然, 反证:若不然,设还有 x = φ ( x ),则 % % % % 之间。 x* − x = φ ( x*) − φ ( x ) = φ '( ξ ) ( x * − x ), ξ 在 x * 和 x 之间。 % % ⇒ ( x * − x )(1 − φ '( ξ )) = 0 而 | φ '( ξ ) | < 1 ∴ x* = x
x* ≈ x n an xn bn 1 1 | x * - x n |≤ | a n − bn |≤ n + 1 | a 0 − b0 | < ε 2 2 ln( b0 − a 0 ) − ln ε ⇒ n> −1 ln 2
⇑
When to stop?
a x1 a x* x2 b b
xk +1 − xk < ε1
x4 = 2 x3 + 3 = 9.06877099 = 3.01144002
x5 = 2 x4 + 3 = 9.02288004 = 3.00381092 M
可以看出, ->+∞时 可以看出,当k-> 时,xk≈3.0 ->
1 2 2) f ( x ) = x − 2 x − 3 = 0 ⇔ x = ( x − 3) 2 1
∴ 取φ ( x ) = 2 x + 3, 即迭代格式 xk +1 = 2 xk + 3。 令x0 = 4, 于是得到如下迭代序列:
x1 = 2 x0 + 3 = 11 = 3.31662479
x2 = 2 x1 + 3 = 9.63324958 = 3.10374767
x3 = 2 x2 + 3 = 9.20749533 = 3.03438550
的有根区间。 例1:求方程 f ( x ) = x 3 − 3 x 2 + 4 x − 3=0 的有根区间。 : 解法1:图解法。 解法 :图解法。 由左图所示, 由左图所示,得到有根区间 为[1.6, 1.7]。 。 解法2:分析法。 解法 :分析法。
Q f '( x ) = 3 x 2 − 6 x + 4 = 3( x − 1)2 + 1 > 0
x1 =
a+b 2
有误差 | x1 − x* | ≤
①简单; 简单 要求不高(只要连续即可 只要连续即可) ② 对f (x) 要求不高 只要连续即可 。 ①无法求复根及偶重根; 无法求复根及偶重根 ② 收敛慢 。
例:用二分法求方程 f ( x ) = x 3 − x 2 − 2 x + 1 = 0 在区间[0,1]内的一个实根,要求精确到3位有效数字。 内的一个实根,要求精确到 位有效数字 位有效数字。 在区间 内的一个实根
x
解:当x<0 时,f(x)<0,故有根区间肯定在(0, +∞ )。 , 2 x x f ( x ) = xe − 2 = 0 ⇔ e = 。 x 2 x 令 f1 ( x ) = e , f 2 ( x ) = 。 x 分别作出f 的图像, 分别作出 1(x), f2(x)的图像, 的图像 由两图像交点横坐标看出有 根区间为: 根区间为:[0.5,1]。 。
当k → ∞ 时, xk 收敛到 x* ?
| x * − xk | = | φ( x*) − φ( xk−1 )| = | φ '(ξk−1 )| ⋅ | x * − xk−1 |
1 取 [a1 , b1 ] 的中点 x1 = (a1 + b1 ) 2 M
可得一系列的小区间和中点 区间 中点 点列
[a0 , b0 ], [a1 , b1 ], x 0 , x 1 , 1 x n = ( a n + bn ) 2 [a2 , b2 ], L , [an , bn ] x 2 ,L , x n
若f (a0 ) ⋅ f ( x0 ) < 0, [a0 , x0 ]中有根 , 令a1 = a0 , b1 = x0 ;
若f ( x0 ) ⋅ f (b0 ) < 0, [ x0 , d ]中有根 , 令a1 = x0 , b1 = b0 ;
的一半。 于是有根区间就变为[a1 , b1 ],长度只有原区间 [a0 , b0 ] 的一半。
引言 /* Introduction */
求 f (x) = 0 的根 1. 基本概念
方程f (x)=0,如果存在某个 ,使得 (x*)=0。则称 为 如果存在某个x*,使得f 方程 如果存在某个 。则称x*为 方程f 的根或者称为函数f 的零点 的零点。 方程 (x) = 0 的根或者称为函数 (x)的零点。
1.0(-) 0.5(-) 0.5(-) 0.5(-) 0.5(-)
M 0.4453215( − ) 0.4453125( − )
∴ x* ≈ x10 = (a10 + b10 ) / 2 = 0.444824218 ≈ 0.445。
迭代法
/* Fixed-Point Iteration */
等价变换
实际上, 实际上,* ≈ 0.85260550201373 x
二分法
/* Bisection Method */
x0
a0 b0
假设区间 [a0 , b0 ] 内有唯一的实根。 内有唯一的实根。 1 取 [a0 , b0 ]的中点 x0 = (a0 + b0 ) 2
若f ( x0 ) = 0, x0就是[a0 ,b0 ]中的根;
0(+) 0(+) 0.25(+) 0.375(+) 0.4375(+)
M 0.443359375( + ) 0.444335937( + )
0.5(-) 0.25(+) 0.375(+) 0.4375(+) 0.46875(+)
M 0.444335937( + ) 0.444824218( + )
f ( x ) = ( x − x*)m g( x ), 且g( x*) ≠ 0, m ≥ 1 特别, 特别,如果
则称x*为 重根, 重零点。 则称 为f(x)=0的m重根,或者 的 重根 或者f(x)的m重零点。当 的 重零点 m=1,称为单根。 称为单根。 称为单根
2. 方程求根一般步骤
求出有根区间----方程在此区间有且仅有一根。 求出有根区间 方程在此区间有且仅有一根。 方程在此区间有且仅有一根 将根细化----将已知的近似根用各种方法进一步提高精确, 将根细化 将已知的近似根用各种方法进一步提高精确, 将已知的近似根用各种方法进一步提高精确 使其满足给定的精确要求。 使其满足给定的精确要求。
为迭代格式(迭代公式 称xn+1 =φ(xn)为迭代格式 迭代公式 ;称φ(x)为迭代 为迭代格式 迭代公式); 为迭代 函数; 为迭代序列; 函数;求得序列 x ∞ 为迭代序列;上述求根方 法称为迭代法。 法称为迭代法。 k k=0
{ }
例:给定方程 f (x)=x2-2x-3=0,显然它在区间 ,显然它在区间[2,4] 内有唯一实根x*=3。按不同迭代格式来求此解。 内有唯一实根 。按不同迭代格式来求此解。 解:1) f ( x ) = x 2 − 2 x − 3 = 0 ⇔ x = 2 x + 3
或
f ( x ) < ε2
不能保证 x 的精 度
ε2
x* x
§2 Bisection Method
分析: 误差 分析:
对于给定的精度 ε ,可估计二分法所需的步数 k : 可估计二分法所需的步数
b−a < ε k 2 ⇒ ln ( b − a ) − ln ε k > ln 2
b−a 第1步产生的 步产生的 2 b−a | x k − x* | ≤ k 第 k 步产生的 xk 有误差 2
§3 Fixed-Point Iteration
证明φ(x) 在[a, b]上存在不动点? 上存在不动点? 证明 上存在不动点
令 f ( x ) = φ ( x ) − x ∈ C 1 [a , b ] Q a ≤ φ ( x ) ≤ b
∴ f (a ) = φ (a ) − a ≥ 0 , f ( b ) = φ ( b ) − b ≤ 0
迭代格式的构造及其收敛性条件
f (x) = 0 x =φ(x) 出发, 从一个初值 x0 出发,计算 x1 =φ(x0), x2 =φ(x1), …, xk+1 ∞ =φ(xk), … 。若 收敛, { x收敛,即存在 x* 使得 k } k=0 思 lim x = x *,且φ连续,则由 lim x k + 1 = lim φ ( x k ) 可 连续, 连续 路 k →∞ k k→∞ k→∞ 的根。 知 x* =φ(x* ),即x* 是f 的根。 ,
(1)方 程 x = φ ( x ) 在 [ a , b ]上 有 唯 一 根 x * ;
(2)任意x0 ∈ [a , b], 迭代格式xk +1 = φ ( xk )收敛 , 且有 lim xk =x * ; x →∞ 1 (3) | x * − xk | ≤ | xk +1 − xk | ( k = 1, 2, L ); 1− L Lk (4) | x * − x k | ≤ | x1 − x0 | ( k = 1, 2, L ); 1− L
可以看出, 可以看出,当k +∞时,xk -> +∞ 时
->
定理
还满足: 考虑方程 x =φ(x), φ(x)∈C1[a, b], 若φ(x)还满足: ∈ 还满足
( I ) 当 x∈[a, b] 时,φ(x)∈[a, b]; ∈ ∈ ; ( II ) ∃ 0 ≤ L < 1 使得 |φ’(x) | ≤ L < 1 对 ∀ x∈[a, b] 成立。 成立。 ∈ 其中L为正常数。则有如下结论成立: 其中 为正常数。则有如下结论成立: 为正常数
∴ f ( x )在[- ∞, ∞ ]严格单调。 + 严格单调。
又 Q f (0) = −3 < 0, f (2) = 1 > 0。
故函数的有根区间为[0,2] 故函数的有根区间为
事实上, 事实上,x* ≈ 1.68232780382802
的有根区间。 例2:求方程 f ( x ) = xe − 2 = 0 的有根区间。 :
k a k [ f ( a k )的 符号] x k [ f ( x k )的 符号] b k [ f ( b k )的 符号]
0 1 2 3 4
M 9 10
三次方程求根公式一元二次方程求根四次方程求根公式3次方程求根公式2次方程求根公式高次方程求根牛顿方程求根迭代法方程求根公式三次方程求根3次方程求根
非线性方程求根
/* Solutions of Nonlinear Equations */
§1 §2 §3 §4
§5
引言 二分法 迭代法 牛顿法 劈因子法
3. 隔离区间求法
原理:若 f (x)∈C[a, b],且 f (a) · f (b) < 0,则 f (x)在 (a, b) 原理: ∈ , , 在 上必有一根。 上必有一根。 作出f 函数的草图 函数的草图, 作出 (x)函数的草图,由f (x)与x轴交点横轴标大概确定隔 与 轴交点横轴标大概确定隔 离区间。 离区间。 等价改写为f 将f(x)=0等价改写为 1(x)=f2(x),作出 1(x)、f2(x)的草 等价改写为 ,作出f 的草 由两者交点横轴标大概确定隔离区间。 图,由两者交点横轴标大概确定隔离区间。 逐步搜索法,得到满足原理条件的各个区间。 逐步搜索法,得到满足原理条件的各个区间。
n = 0,1, 2,L
显然每个小区间都有单根且有如下关系: 显然每个小区间都有单根且有如下关系:
1 1 an − bn = an −1 − bn −1 = L = n a0 − b0 2 2 a n−1 xn−1 1 | xn − xn −1 | = n +1 a0 − b0 2
⇓
bn − 1
如果取
2
∴ 取φ ( x ) =
令x0 = 4, 于是得到如下迭代序列:
2
( x − 3),即迭代格式xk +1
2
1 2 = ( xk − 3)。 2
1 2 x1 = ( x0 − 3) = 6.5 2 1 2 x2 = ( x1 − 3) = 19.625 2 1 2 x3 = ( x2 − 3) = 191.0703125 2 1 2 x4 = ( x3 − 3) = 18252.432159423828125 2 1 2 x5 = ( x4 − 3) = 166575638.36718459473922848701477 2 M
⇒ f ( x ) 有根
不动点唯一? 不动点唯一?
% % 反证:若不然, 反证:若不然,设还有 x = φ ( x ),则 % % % % 之间。 x* − x = φ ( x*) − φ ( x ) = φ '( ξ ) ( x * − x ), ξ 在 x * 和 x 之间。 % % ⇒ ( x * − x )(1 − φ '( ξ )) = 0 而 | φ '( ξ ) | < 1 ∴ x* = x
x* ≈ x n an xn bn 1 1 | x * - x n |≤ | a n − bn |≤ n + 1 | a 0 − b0 | < ε 2 2 ln( b0 − a 0 ) − ln ε ⇒ n> −1 ln 2
⇑
When to stop?
a x1 a x* x2 b b
xk +1 − xk < ε1
x4 = 2 x3 + 3 = 9.06877099 = 3.01144002
x5 = 2 x4 + 3 = 9.02288004 = 3.00381092 M
可以看出, ->+∞时 可以看出,当k-> 时,xk≈3.0 ->
1 2 2) f ( x ) = x − 2 x − 3 = 0 ⇔ x = ( x − 3) 2 1
∴ 取φ ( x ) = 2 x + 3, 即迭代格式 xk +1 = 2 xk + 3。 令x0 = 4, 于是得到如下迭代序列:
x1 = 2 x0 + 3 = 11 = 3.31662479
x2 = 2 x1 + 3 = 9.63324958 = 3.10374767
x3 = 2 x2 + 3 = 9.20749533 = 3.03438550
的有根区间。 例1:求方程 f ( x ) = x 3 − 3 x 2 + 4 x − 3=0 的有根区间。 : 解法1:图解法。 解法 :图解法。 由左图所示, 由左图所示,得到有根区间 为[1.6, 1.7]。 。 解法2:分析法。 解法 :分析法。
Q f '( x ) = 3 x 2 − 6 x + 4 = 3( x − 1)2 + 1 > 0
x1 =
a+b 2
有误差 | x1 − x* | ≤
①简单; 简单 要求不高(只要连续即可 只要连续即可) ② 对f (x) 要求不高 只要连续即可 。 ①无法求复根及偶重根; 无法求复根及偶重根 ② 收敛慢 。
例:用二分法求方程 f ( x ) = x 3 − x 2 − 2 x + 1 = 0 在区间[0,1]内的一个实根,要求精确到3位有效数字。 内的一个实根,要求精确到 位有效数字 位有效数字。 在区间 内的一个实根
x
解:当x<0 时,f(x)<0,故有根区间肯定在(0, +∞ )。 , 2 x x f ( x ) = xe − 2 = 0 ⇔ e = 。 x 2 x 令 f1 ( x ) = e , f 2 ( x ) = 。 x 分别作出f 的图像, 分别作出 1(x), f2(x)的图像, 的图像 由两图像交点横坐标看出有 根区间为: 根区间为:[0.5,1]。 。
当k → ∞ 时, xk 收敛到 x* ?
| x * − xk | = | φ( x*) − φ( xk−1 )| = | φ '(ξk−1 )| ⋅ | x * − xk−1 |
1 取 [a1 , b1 ] 的中点 x1 = (a1 + b1 ) 2 M
可得一系列的小区间和中点 区间 中点 点列
[a0 , b0 ], [a1 , b1 ], x 0 , x 1 , 1 x n = ( a n + bn ) 2 [a2 , b2 ], L , [an , bn ] x 2 ,L , x n
若f (a0 ) ⋅ f ( x0 ) < 0, [a0 , x0 ]中有根 , 令a1 = a0 , b1 = x0 ;
若f ( x0 ) ⋅ f (b0 ) < 0, [ x0 , d ]中有根 , 令a1 = x0 , b1 = b0 ;
的一半。 于是有根区间就变为[a1 , b1 ],长度只有原区间 [a0 , b0 ] 的一半。
引言 /* Introduction */
求 f (x) = 0 的根 1. 基本概念
方程f (x)=0,如果存在某个 ,使得 (x*)=0。则称 为 如果存在某个x*,使得f 方程 如果存在某个 。则称x*为 方程f 的根或者称为函数f 的零点 的零点。 方程 (x) = 0 的根或者称为函数 (x)的零点。
1.0(-) 0.5(-) 0.5(-) 0.5(-) 0.5(-)
M 0.4453215( − ) 0.4453125( − )
∴ x* ≈ x10 = (a10 + b10 ) / 2 = 0.444824218 ≈ 0.445。
迭代法
/* Fixed-Point Iteration */
等价变换
实际上, 实际上,* ≈ 0.85260550201373 x
二分法
/* Bisection Method */
x0
a0 b0
假设区间 [a0 , b0 ] 内有唯一的实根。 内有唯一的实根。 1 取 [a0 , b0 ]的中点 x0 = (a0 + b0 ) 2
若f ( x0 ) = 0, x0就是[a0 ,b0 ]中的根;
0(+) 0(+) 0.25(+) 0.375(+) 0.4375(+)
M 0.443359375( + ) 0.444335937( + )
0.5(-) 0.25(+) 0.375(+) 0.4375(+) 0.46875(+)
M 0.444335937( + ) 0.444824218( + )
f ( x ) = ( x − x*)m g( x ), 且g( x*) ≠ 0, m ≥ 1 特别, 特别,如果
则称x*为 重根, 重零点。 则称 为f(x)=0的m重根,或者 的 重根 或者f(x)的m重零点。当 的 重零点 m=1,称为单根。 称为单根。 称为单根
2. 方程求根一般步骤
求出有根区间----方程在此区间有且仅有一根。 求出有根区间 方程在此区间有且仅有一根。 方程在此区间有且仅有一根 将根细化----将已知的近似根用各种方法进一步提高精确, 将根细化 将已知的近似根用各种方法进一步提高精确, 将已知的近似根用各种方法进一步提高精确 使其满足给定的精确要求。 使其满足给定的精确要求。
为迭代格式(迭代公式 称xn+1 =φ(xn)为迭代格式 迭代公式 ;称φ(x)为迭代 为迭代格式 迭代公式); 为迭代 函数; 为迭代序列; 函数;求得序列 x ∞ 为迭代序列;上述求根方 法称为迭代法。 法称为迭代法。 k k=0
{ }
例:给定方程 f (x)=x2-2x-3=0,显然它在区间 ,显然它在区间[2,4] 内有唯一实根x*=3。按不同迭代格式来求此解。 内有唯一实根 。按不同迭代格式来求此解。 解:1) f ( x ) = x 2 − 2 x − 3 = 0 ⇔ x = 2 x + 3
或
f ( x ) < ε2
不能保证 x 的精 度
ε2
x* x
§2 Bisection Method
分析: 误差 分析:
对于给定的精度 ε ,可估计二分法所需的步数 k : 可估计二分法所需的步数
b−a < ε k 2 ⇒ ln ( b − a ) − ln ε k > ln 2
b−a 第1步产生的 步产生的 2 b−a | x k − x* | ≤ k 第 k 步产生的 xk 有误差 2
§3 Fixed-Point Iteration
证明φ(x) 在[a, b]上存在不动点? 上存在不动点? 证明 上存在不动点
令 f ( x ) = φ ( x ) − x ∈ C 1 [a , b ] Q a ≤ φ ( x ) ≤ b
∴ f (a ) = φ (a ) − a ≥ 0 , f ( b ) = φ ( b ) − b ≤ 0
迭代格式的构造及其收敛性条件
f (x) = 0 x =φ(x) 出发, 从一个初值 x0 出发,计算 x1 =φ(x0), x2 =φ(x1), …, xk+1 ∞ =φ(xk), … 。若 收敛, { x收敛,即存在 x* 使得 k } k=0 思 lim x = x *,且φ连续,则由 lim x k + 1 = lim φ ( x k ) 可 连续, 连续 路 k →∞ k k→∞ k→∞ 的根。 知 x* =φ(x* ),即x* 是f 的根。 ,
(1)方 程 x = φ ( x ) 在 [ a , b ]上 有 唯 一 根 x * ;
(2)任意x0 ∈ [a , b], 迭代格式xk +1 = φ ( xk )收敛 , 且有 lim xk =x * ; x →∞ 1 (3) | x * − xk | ≤ | xk +1 − xk | ( k = 1, 2, L ); 1− L Lk (4) | x * − x k | ≤ | x1 − x0 | ( k = 1, 2, L ); 1− L
可以看出, 可以看出,当k +∞时,xk -> +∞ 时
->
定理
还满足: 考虑方程 x =φ(x), φ(x)∈C1[a, b], 若φ(x)还满足: ∈ 还满足
( I ) 当 x∈[a, b] 时,φ(x)∈[a, b]; ∈ ∈ ; ( II ) ∃ 0 ≤ L < 1 使得 |φ’(x) | ≤ L < 1 对 ∀ x∈[a, b] 成立。 成立。 ∈ 其中L为正常数。则有如下结论成立: 其中 为正常数。则有如下结论成立: 为正常数
∴ f ( x )在[- ∞, ∞ ]严格单调。 + 严格单调。
又 Q f (0) = −3 < 0, f (2) = 1 > 0。
故函数的有根区间为[0,2] 故函数的有根区间为
事实上, 事实上,x* ≈ 1.68232780382802
的有根区间。 例2:求方程 f ( x ) = xe − 2 = 0 的有根区间。 :