数值计算(第二版)第二章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1.2 根的隔离方法

例:考察方程
f ( x) x x 1 0
3
利用逐步搜索法确定一个有根区间

解:注意到f (0) < 0, f (+) >0,知f (x)至少有一 个正的实根 设从x = 0出发,取h = 0.5为步长向右进行根的 扫描 x
0 0.5 1.0 1.5
f (x) 的符号 -

有根区间


根的隔离

计算机科学与工程系
8
2.1.1 方程的根


定理1:设函数f (x)在区间[a, b]上连续,如果f (a) f (b) < 0,则方程f (x) = 0在[a, b]内至少 有一实根x* 定理2:设函数f (x)在区间[a, b]上是单调连续 函数,并且f (a) f (b) < 0,则方程f (x) = 0在 [a, b]上有且仅有一实根x*
-
0.0157
0.0078
计算机科学与工程系 21
2.3 迭代法

简单迭代法的原理 迭代法的收敛性 迭代加速法
计算机科学与工程系 22
2.3.1 简单迭代法原理

基本思想

将方程f (x) = 0化为一个等价的方程 x (x ) 从而构成序列
xk 1 ( xk ) k 0, 1, 2,
在区间[1, 1.5]内的实根,要求准确到小数点 后第2位。
解:预先估计一下二分的次数:按误差估计式
1 1 x xk bk 1 ak 1 k 1 (b a) 10 2 2 2 k 6
*
计算机科学与工程系 20
2. 2 二分法
k 0 ak 1.0000 bk 1.5000 xk 1.2500 f (xk)的符号 bk-ak 0.5000
2. 2 二分法
使用二分法时,误差限为:
1 x * xk k 1 (b a) 2
1 0 1 10 4 2 k 1 2
lg(1 0) 4 k 13.28 lg 2
所以总共需要二分14次
计算机科学与工程系 19
2. 2 二分法

例: 求方程
f ( x) x 3 x 1 0
k
如果 (x) 连续,迭代序列{ x }收敛于x*,则x*就是 方程的解
计算机科学与工程系 23
2.3.1 简单迭代法原理

例:求方程

x3 x 1 0
在x=1.5附近的一个根
解:将所给方程改写成
x 3 x 1
的形式,假设初值x0=1.5,是其根,代入后得到
x1 3 x0 1 3 1.5 1 1.35721
4

证:令 f ( x) 1 x sin x
f ' ( x) 1 cos x, x [0,1]

f (x) 是连续函数
f (x)在[0, 1]单调减少
又 f (0) 1 0, f (1) sin1 0 , f (x) 在[0, 1]有且仅有一个 根
计算机科学与工程系 18
计算机科学与工程系 6
2.1.1 方程的根
因此,x=0是


f ( x) e 2 x 1 2 x 2 x 2 0
的三重根
方程求根需要解决的问题
根的存在性:方程是否有根,如果有根,有几个根? 根的隔离:找出有根区间,把有根区间分成较小的 子区间,每个子区间有一个根,将有根区间内的任 一点都看成该根的一个初始近似值 根的精确化:对已知根的初始近似值,逐步精确化 判断根是否存在,若存在,确定根的某个初始近似 值
f ( x0 ) f ( x0 h ) 0
那么所求的根x*必在x0与x0+h之间
计算机科学与工程系 11
2.1.2 根的隔离方法
开 始 读入a, h a x0 f (x0) y0 x0 + h x0 是 f (x0) y0>0 继续扫描
打 印 否 结 束
计算机科学与工程系 12

方程的根 根的隔离问题
计算机科学与工程系
3
2.1.1 方程的根

代数方程

对于一元非线性方程 f ( x) 0 ,如果 f (x) 为代数多 项式
an x n an1 x n1 ... a1 x a0
则称 f ( x) 0 为代数方程

超越方程

超越方程包括指数方程、对数方程和三角方程等
计算机科学与工程系 14

二分法的步骤



ab 3.判断若f (x0) = 0,则 x0 即是根,否则检验: 2 (1)若f (x0)与f (a)异号,则知解位于区间[a, x0],以x0 代替b; (2)若f (x0)与f (a)同号,则知解位于区间[x0, b],x0代 替a
2. 2 二分法
xk
1.5 1.35721 1.33086 1.32588 1.32494 1.32476 1.32473 1.32472 1.32472
x k x k 1
——
计算机科学与工程系 25
2.3.1 简单迭代法原理

例:求方程 迭代法的几何意义

f ( x) x 10 x 2 0
计算机科学与工程系 32
2.3.2 迭代过程的收敛性
证明:先证明根的唯一性 构造连续函数 ( x) ( x) x ,根据条件(1)可以得到

( a) ( a) a 0
(b) (b) b 0
由函数的连续性定理可知,存在x*∈[a,b], 使 ( x*) ( x*) x* 0 ,也就是存在解,即 x* ( x*) 假设有两个解 x*, x [a, b] ,则
计算机科学与工程系
9
2.1.2 根的隔离方法

画图法
f(x)
x0
a
x0 h
x* b
计算机科学与工程系 10
2.1.2 根的隔离方法

逐步扫描法


设单值连续函数f(x)在有根区间[a, b],从左端点x = a出发,按某个预先选定的步长h一步一步地向右跨 每跨一步都检验每步起点x0和终点x0 + h的函数值 如果
f ( x) e 2 x 1 2 x 2 x 2 , f (0) 0
f ' ( x) 2e 2 x 2 4 x, f ' (0) 0
f ' ' ( x) 4e 2 x 4, f ' ' (0) 0
f ' ' ' ( x) 8e 2 x , f ' ' ' (0) 8 0
1
2 3 4
1.2500
1.2500 1.3125 1.3125
1.5000
1.3750 1.3750 1.3438
1.3750
1.3125 1.3438 1.3282
+
+ +
0.2500
0.1250 0.0625 0.0313
5
6
1.3125
1.3204
1.3282
1.3282
1.3204
1.3243
计算机科学与工程系 7


求根的步骤

2.1.1 方程的根

将初始近似值逐步加工成满足精度要求的结果 如果方程在区间[a, b]内至少有一个根,则称[a, b] 为有根区间 求初始近似值,即确定根的大致区间[a, b] ,使[a, b]内恰有方程的一个根。这个步骤,叫做根的隔离, 这样的区间,叫做隔根区间
x* ( x*), x ( x)
根据中值定理有
x * x ( x*) ( x) ' ( )( x * x), [a, b]
从而有
( x * x)[1 ' ( )] 0
计算机科学与工程系 33
根据条件(2)有 | ' ( x) | 1 所以 x * x 0 ,即 x* x ,也就是解唯一。 设x*是方程的根,即x*= (x*),由拉格朗日定理

重根的判断条件

设函数 f (x) 有m阶连续导数,方程 f ( x) 0 有m重 根x*的充要条件是
计算机科学与工程系 5
2.1.1 方程的根
f ( x*) f ' ( x*) ... f ( m1) ( x*) 0, f ( m) ( x*) 0

f ( x) e 2 x 1 2 x 2 x 2 0 的几重根? 例:求x=0是方程 解:



计算机科学与工程系 13
2. 2 二分法

二分法的基本思想

就是将方程根所在的区间平分为两个小区间,再判 断根属于哪个小区间;把有根的小区间再平分为二, 再判断根所在的更小的区间,对分;重复这一过程, 最后求出所要的近似值 1.计算f (x)在有解区间[a, b]端点处的函数值,f (a),f (b) 2.计算f (x)在区间中点处的值f (x0)

方程的根
计算机科学与工程系 4
2.1.1 方程的根


如果存在x*使 f ( x*) 0 ,则称x*是方程的解或根, 也称x*是函数 f (x) 的零点或根 如果函数 f (x) 可分解为
f ( x) ( x x*)m g ( x), g ( x*) 0
其中m是大于1的正整数,则称x*是方程 f ( x) 0 的 m重根

反复执行步骤2、3,便可得到一系列有根区间: [a, b], [a1, b1], …, [ak, bk], … ,其中每个区间都 是前一个区间的一半,因此区间长度为
bk ak 1 (b a ) k 2
计算机科学与工程系 15
2. 2 二分法

二分法的误差估计

由于 x x* 1 (b a ) b a k k k k 1 k 1
的一个根
迭代法的几何意义可解释成求方程 x (x) 的根, 在几何上就是求直线y=x与曲线y=φ(x)交点A的横坐 标x*
计算机科学与工程系 26
2.3.1 简单迭代法原理
计算机科学与工程系 27
2.3.1 简单迭代法原理
收敛的情形
计算机科学与工程系 28
2.3.1 简单迭代法原理
发散的情形
计算机科学与工程系 31
2.3.2 迭代过程的收敛性

定理3:设函数 (x) 在[a,b]上具有连续的一阶 导数,且满足 (1)当x[a, b]时,(x)[a, b] (2)当任意x[a, b],存在0< L< 1,使
' ( x) L 1
则方程x = (x)在[a, b]上有唯一的根x*,且对 任意初值x0[a, b]时,迭代序列xk+1= (xk) (k = 0, 1, …)收敛于x*。
f (a) f (b)=0

m=(a+b)/2
f (a) =0 是 打印m, k 结束 否


|a-b|/2<
是 a=m
打印a, k 打印b, k 结束
f(a)f(m)>0 否 b=m
计算机科学与工程系 17
k=K+1
2. 2 二分法

例:证明 1 x sin x 0 在[0, 1]内有一个根, 1 使用二分法求误差不大于 2 10 的根要二分多 少次?
求得的x1不等于x0,再将x1代入,求得x2
x2 3 x1 1 3 1.35721 1 1.33086
x2与x1不等,再用x2代入,求得x3
x3 3 x2 1 3 1.33086 1 1.32588
计算机科学与工程系 24
2.3.1 简单迭代法原理
k
0 1 2 3 4 5 6 7 8
数值计算方法
第二章 非线性方程的数值解法

超越方程
tgx x 0
0.25 tgx 4.8889 sin x 0

达到一定精度要求的求方程近似值的方法


根的存在性。方程有没有根?如果有根,有几个根? 这些根大致在哪里?如何把根隔离开来? 根的精确化
计算机科学与工程系
2
2.1 初始近似值的搜索
计算机科学与工程系 29
2.3.2 迭代过程的收敛性

定义:对任意初值 x0 [a, b] ,如果按照迭代格式
xk 1 ( xk )

生成的序列 xk [a, b] ,则该迭代格式映内 x e x 在0.5附近的根 例:求方程 迭代法的收敛性
计算机科学与工程系 30
2
只要有根区间[ak+1, bk+1]的长度小于预先给定的误 差,那么就可以取 作为所求根x*的第k+1次近似值。其误差估计为
1 x xk k 1 (b a) 2
*
计算机科学与工程系 16
1 xk (ak bk ) 2
输入 a, b, 定义f (x) 是
f (a) f (b)>0 否 k=0 否
相关文档
最新文档