数值计算方法 (第2章 非线性方程与方程组的数值解法)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6
等步长扫描算法
算法:(求方程 f ( x) = 0的有根区间) (1) 输入 a, b, h ; (a (2) f 0 = f (a) ; (3) x = a + h, f1 = f ( x),若 x > b 输出失败信息, 停机。 (4)若 f1 = 0 。输出 x ,已算出方程的一个根,停 机。
x k +1 = ϕ ( x k ) k = 0,1,......
17
反复迭代得
迭代法及收敛性
{x k }收敛,即 lim xk = x ∗ 若
k →∞
则得 x 是 x = ϕ (x ) 的一个根

Q lim x n +1 = lim ϕ ( x n ) = ϕ (lim x n ) ⇒ x ∗ = ϕ ( x∗)
因为 0<L<1 ,所以只可能 x1∗ = x 2 ∗ , 即根是唯一的。
28
压缩映像原理
最后证迭代序列的收敛性 迭代序列的收敛性
由于 | xn − x ∗ |=| ϕ ( xn −1 ) − ϕ ( x ∗ ) |
≤ L | x n −1 − x ∗ |
因为 所以

x0,x ∗ 与n 无关,而0<L<1 lim | xn − x ∗ | ≤ | x0 − x ∗ | lim Ln = 0
7
等步长扫描算法 (5) 若 f 0 f1 < 0 。输出 a, x, [a, x] 为有根区间, 停机 (6) a = x ,转 3) 注:如果对足够小的步长h 扫描失败。 说明:
在 [a, b] 内无实根 或
8
二分法 用二分法(将区间对平分)求解 求解。 求解
令 a1 = a, b1 = b, c1 = 1 (a1 + b1 ) 2 若 f (a1 ) f (c1 ) < 0 ,则 [a1 , c1 ] 为有根区间,否 则 [c1 , b1 ] 为有根区间 记新的有根区间为 [a 2 , b2 ] , 则
Ln | x n − x ∗ |≤ | x1 − x0 | 1− L
这是事前估计 事前估计。选取n,预先估计迭代次数。 事前估计
30
需指出: 如果迭代函数 ϕ ( x ),对于x ∈ [a, b]满足 ϕ ' ( x ) ≤ L ≤ 1, 则 ϕ (x )满足Lipschitz条件。
满足2.2.1条件的函数ϕ ( x )称为[a, b]上的压缩映像。
n →∞ n →∞

1 x = c n = ( a n + bn ) 为 2
x

的近似解
11
求方程f(x)=0的根的二分法算法
(1) 输入 : 有根区间 [a, b] 的a, b值及精度控制量ε ;
(2) if f ( a ) f (b) > 0 then 返回第1步, 重新输入a, b值 else 转第3步; 3步 (3) while | a − b |> ε 时做 1 1)令x = (a + b), 计算f ( x ); 2 2)if f ( a ) f ( x ) < 0 then [a, b]∆[a, x ];
1) while f ( a1 ) f (b1 ) > 0做a1 = a; b1 = a1 + h; endwhile;
2) while | b1 − a1 |> ε时做 1 1 x = (a1 + b1 ); 计算f ( x ); 2
0
13
求方程f(x)=0的全部实根的二分法算法
20 30 if if f ( x ) = 0转(3); f ( a1 ) f ( x ) < 0 then else endwhile; h 3)输出 : x; a1 = x + ; b1 = a1 + h; 10 endwhile;
31
例题
例2.2.2 证明函数ϕ ( x ) = 3 x + 1 在区间[1, 2]上满足迭代收敛条件。 证明:
因为 所以 1 ϕ ( x ) = ( x + 1) 3
' − 2 3
>0
x ∈ [1,2]
ϕ ( x)是区间[a, b]上严格单调增函数。
32
例题
而ϕ (1) = 3 2 > 1,ϕ (2) = 3 3 < 2
n →∞ n →∞ n →∞
18
迭代法的几何意义
y=x x = ϕ ( x) ⇒ 交点的横坐标 y = ϕ ( x)
y=x
x * x2
x1
x0
19
简单迭代法
将 f ( x ) = 0 变为另一种等价形式 x = ϕ (x )。 选取 x ∗的某一近似值 x0 ∈ [a, b] ,则按递推 关系 x k +1 = ϕ ( x k )
n →∞ n →∞
≤ Ln | x 0 − x ∗ |
≤ ......
lim x n = x ∗
n →∞
29
压缩映像原理
误差估计 若 x = ϕ (x ) 满足定理2.2.1条件,则
L | x n − x |≤ | x n − x n −1 | 1− L

这是事后估计 事后估计,也就是停机标准。L越小,收敛速度越快。 事后估计
2
2.1二分法 求非线性方程 f ( x) = 0 的根的方法 分为两步:
确定方程的有根区间(等长扫描法) 计算根的近似值(二分法)
3
概念:
有根区间:存在根 隔根区间:唯一根
4
首先确定有限区间:依据零点定理 零点定理。 零点定理 设 f ( x) ∈ C[a, b] ,且 f (a ) f (b) < 0 ,则 方程 f ( x) = 0 在区间(a, b) 上至少有一个根。 如果 f ' ( x) 在 (a, b) 上恒正或恒负,则此根唯 一。
第2章 章
非线性方程与方程组 的数值解法
1
本章重点介绍求解非线性方程 f (x) = 0的几种常见和有 效的数值方法,同时也对非线性方程组
fi (x1, x2,L, xn ) = 0
wk.baidu.com
(i =1,2,L, n)
求解,简单介绍一些最基本的解法.无论在理论上,还是在 实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充,许多问题的求解,在解析方法无能为力 时,数值方法则可以借助于计算机出色完成.
否则 a 或 b 为方程的根。 首先证明根的存在性 根的存在性 令 ψ (x) = ϕ (x) − x
26
压缩映像原理
ψ 则 ψ ( a ) = ϕ ( a ) − a > 0 , (b ) < 0 即 ψ ( a ) ⋅ ψ ( b ) < 0
ϕ 由条件2) (x ) 是 [a, b] 上的连续函数
k = 0,1,...... 产生的迭代序列
简单迭代法。 简单迭代法 {x k } 。这种方法算为简单迭代法
20
例题
例2.2.1 试用迭代法求方程
f ( x) = x 3 − x − 1 = 0
在区间(1,2)内的实根。 解:由 x = 3 x + 1 建立迭代关系
xk+1 = 3 xk +1 k=0,1,2,3…….
33
例题 若取迭代函数 ϕ ( x ) = x 3 − 1
因为 | ϕ ' ( x) |=| 3 x 2 |≥ 3 x ∈ [1,2]

不满足压缩映像原理,故不能肯定
xn +1 = ϕ ( xn ) n = 0,1,.... 收敛到方程的根。
34
简单迭代收敛情况的几何解释
1) 0 < ϕ ' ( x ) < 1
(b − a )
10
二分法
∗ 设 所求的根为 x , 则 x ∗ ∈ [ a n , bn ] n = 1,2......
∗ 即 a n ≤ x ≤ bn
n = 1,2......
Q
lim (bn − a n ) = lim
n →∞
1 2
n −1
n →∞
(b − a ) = 0


lim a n = lim bn = x ∗
所以ψ (x) 是[ a, b] 上的连续函数。
故由零点定理 ψ ( x) = 0 在 [a, b] 上至少有一根
x ∗ ∈ ( a, b)
27
压缩映像原理 再证根的唯一性 根的唯一性
假设有 x1∗ , x 2 ∗ ∈ [a, b] 均为方程的根
∗ 则 | x1∗ − x 2 ∗ |=| ϕ ( x1∗ ) − ϕ ( x 2 ) |≤ L | x1∗ − x 2 ∗ |
Q f ' ( x) = 3x 2 − 1 > 0, x ∈ [1.3,1.4] 又 即 f ( x ) = 0在 [1.3,1.4] 有唯一根。
15
2.2一般迭代法
对于 f ( x ) = 0 有时可以写成 x = ϕ (x ) 形式 如:
2.2.1 迭代法及收敛性
x3 − x − 1 = 0 ⇔ x = 3 x + 1
24
压缩映像原理
则 x = ϕ (x) 在 [ a , b ] 上存在 唯一解 x ∗ , 且对 ∀x0 ∈ [a, b] ,由 x k +1 = ϕ ( xk ) 产生 的序列 {xk +1} 收敛于 x ∗ 。
25
压缩映像原理
证明:不失一般性,不妨设
ϕ ( a ) > a , ϕ (b) < b
5
等步长扫描法 求有根区间 用计算机求有根区间:等步长扫描法。 设h>0是给定的步长,取 x0 = a, x1 = a + h , 若 f ( x0 ) ⋅ f ( x1 ) < 0 则扫描成功;否则令
x 0 = x1 , x1 = x 0 + h,继续上述方法,直到成
功。如果 x1 > b 则扫描失败。再将h 缩小, 继续以上步骤。
[a1 , b1 ] ⊃ [a 2 , b2 ]

b2 − a 2 = 1 (b1 − a1 ) 2
9
二分法 对 [a 2 , b2 ] 重复上述做法得
[a1 , b1 ] ⊃ [a 2 , b2 ] ⊃ ...... ⊃ [a n , bn ] ⊃ ......

bn − a n = 1 2
n −1
14
[a1 , b1 ]∆[a1 , x ] [a1 , b1 ]∆[ x, b1 ].
例题 例1 设方程
f ( x) = x 3 − x − 1, [a, b] = [1,2]
解:取h=0.1,扫描得:
f (1.3) = −0.61 < 0 f (1.4) = 0.344 > 0

方程的有根区间为[1.3,1.4].
即 [ϕ (1), ϕ ( 2)] ∈ [1,2],所以 ϕ ( x )满足条件(1)。

− 1 1 ' 3 | ϕ ( x ) |=| ( x + 1) |≤ 3 = L < 1 3 3 4 2
x ∈ [1,2]
所以 ϕ (x ) 满足条件(2)。 故ϕ ( x ) = 3 x + 1在[1,2]满足压缩映像原理。
或 x = 1− x
3
x − cos x = 0 ⇔ x = cos x
16
迭代法及收敛性
考察方程 x = ϕ (x ) 。 这种方程是隐式方程,因而不能直接求出它的根。 但如果给出根的某个猜测值 x 0, 代入 x = ϕ (x ) 中的右端得到 x1 = ϕ ( x 0 ) , 再以x1 为一个猜测值, 代入 x = ϕ (x ) 的右端得 x 2 = ϕ ( x1 )
23
迭代法的收敛性 定理2.2.1(压缩映像原理 压缩映像原理) 压缩映像原理
设迭代函数 ϕ (x )在闭区间 [a, b] 上满足
x (1) ∈ [ a, b] ⇒ ϕ ( x ) ∈ [ a, b]
(2)ϕ (x ) 满足Lipschitz条件 即 ∀x1 , x2 ∈ [a, b] 有 ϕ ( x1 ) − ϕ ( x2 ) ≤ L x1 − x2 且 0 < L <1 。
35
2) − 1 < ϕ ' ( x ) < 0
36
2.2.2 Steffensen加速收敛法
对收敛缓慢的迭代格如何加快收敛速度?
一个简便易行,而又能大幅度提高收敛速 度的方法。
37
2.2.2 Steffensen加速收敛法
此部分主要有两个内容
计算结果如下:
21
例题
精确到小数点后五位
x = 1.32472

1 ε = × 10 −5 2
22
例题 但如果由 x = x 3 − 1建立迭代公式
xk +1 = xk − 1
3
k = 1,2,...
仍取
x0 = 1.5,则有 x1 = 2.375 ,2 = 12.39 x
显然结果越来越大,xk } 是发散序列 {
else [a, b]∆[ x, b]. endwhile;
1 ( 4)输出x = (a + b). 2
12
求方程f(x)=0的全部实根的二分法算法 的全部实根的二分法算法 求方程
(1) 输入 : a, b, h, ε ;
( 2) a1 = a; b1 = a1 + h;
(3) while b1 < b 时做
相关文档
最新文档