数值计算方法(第2章)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章
非线性方程与方程组的数值 解法
本章重点介绍求解非线性方程 f (x) 0的几种常见和有
效的数值方法,同时也对非线性方程组
fi (x1, x2, , xn ) 0 (i 1,2, , n)
求解,简单介绍一些最基本的解法.无论在理论上,还是在 实际应用中,这些数值解法都是对经典的解析方法的突 破性开拓和补充,许多问题的求解,在解析方法无能为力 时,数值方法则可以借助于计算机出色完成.
设 f (x) C[a,b] ,且 f (a) f (b) 0 , 则方程 f (x) 0在区间 (a,b)上至少有一个根。 如果 在f ' (x) 上(a恒,b)正或恒负,则此根唯 一。
二分法
用二分法(将区间对平分)求解。

a1
a, b1
b, c1
1 2
(a1
b1 )
若 f (a1) f (c1) 0 ,则 [a1, c1]为有根区间,否 则 [c1,b1]为有根区间
记新的有根区间为 [a2 ,b2 ] , 则
[a1,b1 ] [a2 ,b2 ]

b2
a2
1 2
(b1
a1 )
对 [a2 ,b2 ]重复上述做法得
[a1, b1 ] [a2 ,b2 ] ...... [an ,bn ] ......

bn
an
1 2 n1
(b
a
)
设 所求的根为 x,
h <0 <0
<0
h/2 <0 +0.009375
h/4 <0 +0.0012
h/8 <0 -0.0505 +0.0012
h/16 <0 -0.0775
a+3Δ -0.61
a+4Δ 0.344
2.2一般迭代法
2.2.1 迭代法及收敛性
对于 f (x) 0 有时可以写成 x (x) 形式
如: x3 x 1 0 x 3 x 1
endw hile; (4)输出x 1 (a b).
2
例题
例2 设方程
f (x) x4 4x2 10,在[a,b] [1,2]上的根,使得误差不超 过104。
f (1) 5 0 f (2) 14 0以及
f ' (x) 3x2 8x 0 x [1,2] 函数f (x)在[1,2]上有惟一的根。 由误差
(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].
用计算机求有根区间:等步长扫描法。
设h>0是给定的步长,取 x0 a, x1 a h ,
若 f (x0 ) f (x1) 0 则扫描成功;否则令 x0 x1, x1 x0 h ,继续上述方法,直到成
功。如果 x1 b 则扫描失败。再将h 缩小,
继续以上步骤。
等步长扫描算法
算法:(求方程 f (x) 0的有根区间)
迭代法及收敛性

{xk }收敛,即
lim
k
xk
x
则得 x 是 x (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
cn
1 2
(an
bn )

x 的 近似解
求方程f(x)=0的根的二分法算法
(1) 输入 : 有根区间[a, b]的a, b值及精度控制量 ;
x 1 x3
x cosx 0 x cosx
迭代法及收敛性
考察方程 x (x)。这种方程是隐式方 程,因而不能直接求出它的根,但如果
给出根的某个猜测值
x

0
代入x (x)

的右端得到 x1 (x0 ),再以 x1为一个猜
测值,代入 x (x) 的右端得 x2 (x1)
反复迭代得 xk1 (xk ) k 0,1,......
例2.1.将一半径为r,密度为ρ<1的球浸入水中,求 球体没入水中的高度.
解:
4r3 h2 (3r h)
3
3
求方程:
f (h) h3 3h2 4r3 0
的根
2.1二分法
求非线性方程 f (ቤተ መጻሕፍቲ ባይዱ) 0 的根的方法 分为两步:
确定方程的有根区间 计算根的近似值
首先确定有限区间:依据零点定理。
注:如果对足够小的步长h扫描失败。
说明:
➢ 在 [a,b] 内无根
➢ 在 [a,b] 内有偶重根
例题
例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].
2.375 -1.797 0.162 … -0.002 0.000 07
a x13 1.365173390 本题的精确解为:
a 1.36523001... 故绝对误差(x) x* x 0.000056... 二分法的区间每次只缩小一半,因此它是一种收敛 速度很慢的方法。
等步长扫描法求有根区间
|
a
xk
|
ba 2k 1
104
取k 13即可。
k ak
bk
xk
f(xk)
0 1.0 1 1.0 2 1.25 …… 12 1.364990235 13 1.365112305
2.0 1.5 1.5 … 1.365234375 1.365234375
1.5 1.25 1.375 … 1.365112305 1.365173390
又 f ' (x) 3x2 1 0, x [1.3,1.4] 即 f (x) 0在 [1.3,1.4]有唯一根。
h=0.1,a=1,a=1.3,b=1.4,a=1.3,b=1.35.a=1.3,b=1.325, a=1.3,b=1.3125,a=1.3125,b=1.325
Δ a a+Δ
a+2Δ
(1) 输入 a,b, h ;
(2) f0 f (a) ;
(3) x a h, 停机。
f1
f (x),若
x b 输出失败信息,
(4)若 f1 0。输出x ,已算出方程的一个根,停
机。
(5) 若 f0 f1 0 。输出 a, x,[a, x] 为有根区间, 停机
(6) a x ,转 3)
相关文档
最新文档