数值分析方法第三章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环迭代,用上一轮结果计算下一轮数据。
2020/4/10
18
§ 迭代法 /* Fixed-Point Iteration */
对于一般形式的方程 f ( x) 0先将方程化为
x g(x)
思 路
再从某一数 x0 出发,作序列
xk1 g( xk ) , k 0,1, 2,L
若序列
xk
有极限,即lim k
第二章 非线性方程求根
/* Solutions of Nonlinear Equations */
求 f (x) = 0 的根
2020/4/10
1
求根问题包括下面三个问题: • 根的存在性:即f(x)=0有没有根?若有,有
几个根? • 哪儿有根?确定有根区间 • 根的精确化:已知一个根的近似值后,能否
ln 2
2020/4/10
11
①简单; ② 对f (x) 要求不高(只要连续即可) .
①无法求复根及偶重根 ② 收敛慢
2020/4/10
12
例:求下列方程位于区间[1,1.5]内的一个根
f (x) x3 x 1 0
k
ak
bk
xk
f (xk)的符号
1
1
1.5
1.25
-
2
1.25
1.5
1.375
+
3
1.25
1.375
1.3125
-
4
1.3125
1.375
1.3438
+
5
1.3125
1.3438
1.3281
+
6
1.3125
1.3281
1.3203
-
7
1.3203
1.3281
1.3242
-
2020/4/10
13
多根的求法
运用零点定理可以得到如下逐步搜索法:
先确定方程f(x)=0的所有实根所在的区间为[a,b],从 x0=a 出发,以步长
xk
a
则可得a g(a) 即 f (a) 0 亦即a是方程的根。
h=(b-a)/n
其中n是正整数,在[a,b]内取定节点:
xi=x0+ih (i=0,1,2,……,n) 计算f(xi)的值,依据函数值异号及实根的个数确定隔根 区间,通过调整步长,总可找到所有隔根区间。
y
a o
b
x
在计算中步长h要适当取小一些,若h过长则容易丢根(若 在区间范围内有两相邻函数值符号相同而判定无根)
若间隔h值太小,则影响计算速度。
应用二分法求解
f(x) 在[a,b]上连续
f(a)f(b)<0
“数学”上是正确的, 但作为一种“数学方法”, 应用于实际的“科学问题”时, 不是“放之四海而兼准”的。
有 (2n + 1) 个根时
例:已知 f(x)在[0,)上连续,且 f(0)>0, f()<0。 欲求x尽可能小的根。
将它精确到足够精度?
问题的提出
y 方程:y = f (x) 方程的根:x = ? y = 0
y = 3x - 2
(x = 2/3)
y = x2 - 2x + 1
0
(x = 1)
y = 6.7410-3 - exp(-5000/x) 非线性问题 (x 1000)
y = f (x) x=? x
2020/4/10
2.计算f (x)在区间中点处的值f (x0)。
3.判断若f (x0) = 0,则x0即是根,否则检验: (1)若f (x0)与f (a)异号,则知解位于区间[a, x0], b1=x0, a1=a; (2)若f (x0)与f (a)同号,则知解位于区间[x0, b], a1=x0, b1=b。
反复执行步骤2、3,便可得到一系列有根区间: (a, b), (a1, b1), …, (ak, bk), …
2020/4/10
求方程 x2-2x-1=0 的一个正的近似解 (精确到0.1)
-
+
2
3 f(2)<0,f(3)>0 2<x1<3
-
+
f(2)<0,f(2.5)>0 2<x1<2.5
2
2.5
3
-+
2 2.25 2.5
3 f(2.25)<0,f(2.5)>0 2.25<x1<2.5
-+
2
2.375 2.5
analytical method
2020/4/10
5
求实根近似值的常用方法
1、二分法 2、迭代法 3、牛顿法 4、弦截法
2020/4/10
6
§ 二分法 /* Bisection Method */
问题
y
求连续函数 y = f(x) 在区间
[a,b]上的唯一实根 y = 0
y = f(x)
分析
1. “实根”两侧f(x)反号
a
bx
2. “实根”同侧f(x)同号
方法
3. 若: f(x1)f(x2)反号,则 “实根”在x1和x2之间
逐步缩小“有根区间”
原理:若 f C[a, b],且 f (a) ·f (b) < 0,则 f 在 (a, b) 上必有一根。
2020/4/10
7
执行步骤
1.计算f (x)在有解区间[a, b]端点处的值,f (a),f (b)。
3
科学技术中常遇到高次代数方程或超越方程的求根问题。 大于4次的代数方程无求根公式。 因此需要研究函数方程求根问题的数值方法。
•例如:求解高次方程 7x6-x3+x-1.5=0的根。 求解含有指数和三角函数的超越方程的根。 ex-cos(x)=0
Why 数值计算 ?
根:数值
无解析方法
numerical method
f(2.375)<0,f(2.5)>0 2.375<x1<2.5
3
-+
2
2.375 2.4375
f(2.375)<0,f(2.4375)>0 2.375<x1<2.4375
3
每个有根区间的长度都是前一个有根区间长度的一半
When to stop?
a
xa1 x*
xb2 b
xk1 xk ε1 或 f ( x) ε2
求解过程
尝试: f(1) > 0
尝试: f(5) > 0
y
尝试: f(10) < 0
二分法: f(8) = 0
杜绝教条主义
但是,实际曲线 0
5
10 x
迭代法
•迭代法是数值计算中一种典型的重要方法,尤其是计 算机的普遍使用,使迭代法的应用更为广泛。
•所谓迭代法就是用某种收敛于所给问题的精确解的极 限过程来逐步逼近的一种计算方法,从而可以用有限 个步骤算出精确解的具有指定精度的近似解。简单说 迭代法是一种逐步逼近的方法。
不能保证 x 的精度
2
x*
x
2020/4/10
10
误差 分析:
x0
a
2
b
ba
有误差 | x0 x* | 2
第1步产生的 x1
有误差
|
x1
x* |
ba 4

k 步产生的
xk
有误差 | xk
x*
|ห้องสมุดไป่ตู้
ba 2k 1
对于给定的精度 ,可估计二分法所需的步数 k :
ba 2k 1
ε
k ln b a ln ε 1
相关文档
最新文档