(第2章 非线性方程与方程组的数值解法)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) if f (a) f (b) 0 then 返回第1步,重新输入a,b值
else 转第3步; (3)while | a b | 时做
1)令x 1 (a b),计算f (x); 2
2)if f (a) f (x) 0 then [a,b][a, x];
else [a,b][x,b].
endw hile;
(4)输出x
1
(a
b).
2
12
求方程f(x)=0的全部实根的二分法算法
(1) 输入 : a,b,h,;
(2) a1 a; b1 a1 h; (3) while b1 b 时做
1) while f (a1) f (b1) 0做a1 a;b1 a1 h; endwhile;
15
2.2一般迭代法
2.2.1 迭代法及收敛性
对于 f (x) 0 有时可以写成 x (x) 形式
如:
x3 x 1 0 x 3 x 1
或 x 1 x3
x cosx 0 x cosx
16
迭代法及收敛性
考察方程 x (x) 。
这种方程是隐式方程,因而不能直接求出它的根。
但如果给出根的某个猜测值 x0, 代入 x (x) 中的右端得到 x1 (x0 ) ,
例2.2.1 试用迭代法求方程
f (x) x3 x 1 0
在区间(1,2)内的实根。 解:由x 3 x 1 建立迭代关系
xk1 3 xk 1 k=0,1,2,3…….
计算结果如下:
21
例题
精确到小数点后五位
x 1.32472 1 105
再以x1 为一个猜测值, 代入 x (x) 的右端得 x2 (x1)
反复迭代得
xk1 (xk ) k 0,1,......
17
迭代法及收敛性
若{xk }收敛,即
lim
k
xk
x
则得 x 是 x (x) 的一个根
lim
n
xn
1
lim
n
(
xn
)
Байду номын сангаас
(lim n
xn
)
x
(x)
18
迭代法的几何意义
(6) a x ,转 3) 注:如果对足够小的步长h 扫描失败。
说明:
➢ 在 [a,b] 内无实根 或 ➢ 在 [a,b] 内有偶重根
8
二分法
用二分法(将区间对平分)求解。
令
a1
a, b1
b, c1
1 2
(a1
b1 )
若 f (a1) f (c1) 0 ,则 [a1, c1] 为有根区间,否 则 [c1,b1] 为有根区间
2) while | b1 a1 | 时做
10
x
1 2
(a1
b1); 计算f
( x);
13
求方程f(x)=0的全部实根的二分法算法
20 if f (x) 0转(3);
30 if f (a1) f (x) 0 then [a1, b1][a1, x]
else [a1, b1][x, b1].
endw hile;
x
(x)
y
y
x
(x)
交点的横坐标
y=x
x* x2
x1
x0
19
简单迭代法 将f (x) 0变为另一种等价形式 x (x)。
选取 x的某一近似值 x0 [a,b] ,则按递推 关系 xk1 (xk ) k 0,1,......产生的迭代序列 {xk } 。这种方法算为简单迭代法。
20
例题
6
等步长扫描算法
算法:(求方程 f (x) 0的有根区间)
(1) 输入 a,b, h ;
(2) f0 f (a) ;
(3) x a h, 停机。
f1
f (x),若
x b 输出失败信息,
(4)若 f1 0。输出x ,已算出方程的一个根,停
机。
7
等步长扫描算法
(5) 若 f0 f1 0 。输出 a, x,[a, x] 为有根区间, 停机
第2章
非线性方程与方程组 的数值解法
1
本章重点介绍求解非线性方程 f (x) 0的几种常见和有
效的数值方法,同时也对非线性方程组
fi (x1, x2,, xn ) 0 (i 1,2,, n)
求解,简单介绍一些最基本的解法.无论在理论上,还是在 实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充,许多问题的求解,在解析方法无能为力 时,数值方法则可以借助于计算机出色完成.
5
等步长扫描法 求有根区间
用计算机求有根区间:等步长扫描法。
设h>0是给定的步长,取 x0 a, x1 a h ,
若 f (x0 ) f (x1) 0 则扫描成功;否则令 x0 x1, x1 x0 h,继续上述方法,直到成
功。如果 x1 b 则扫描失败。再将h 缩小,
继续以上步骤。
3)输出:
x; a1
x
h 10
; b1
a1
h;
endw hile;
14
例题
例1 设方程 f (x) x3 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].
又 f ' (x) 3x2 1 0, x [1.3,1.4] 即 f (x) 0在 [1.3,1.4] 有唯一根。
设 所求的根为 x,
则 x [an ,bn ] n 1,2......
即 an x bn n 1,2......
1
lnim(bn
an )
lim
n
2 n 1
(b
a)
0
lim
n
an
lim
n
bn
x
x 取
x
cn
1 2
(an
bn )
为
的近似解
11
求方程f(x)=0的根的二分法算法
(1) 输入 : 有根区间 [a,b]的a,b值及精度控制量 ;
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)上恒正或恒负,则此根唯 一。
记新的有根区间为 [a2 ,b2 ] , 则
[a1,b1 ] [a2 ,b2 ]
且
b2
a2
1 2
(b1
a1 )
9
二分法
对 [a2 ,b2 ]重复上述做法得
[a1, b1 ] [a2 ,b2 ] ...... [an ,bn ] ......
且
bn
an
1 2 n1
(b
a
)
10
二分法