主讲:鲁文英
第一章 绪论
第二章 非线性方程求解
第三章 线性方程组解法
第四章 插值法
第五章 曲线拟合和函数逼近
第六章 数值积分和数值微分
第七章 常微分方程数值解法
第八章 矩阵特征值计算
计算方法
§ 1.1计算方法的研究对象与特点
第一章, 绪论
实际问题 数学问题 提供计算方法
程序设计 上机计算 结果分析
计算方法
基本的数学问题,
1.大型线性代数方程组 Ax=b求解 ;
2.矩阵 A的特征值和特征向量计算 ;
3.非线性方程 求解 (求根 );
4.积分 计算 ;
5.常微分方程初值问题求解 ;
6.其它。
0)( ?xf
dxxfba? )(
问题在于求精确解 (值 )一般非常困难。例如,
1,方程组阶数 n很大,例如 n=20,计算机运算速度
1亿次 /秒,用不好的方法,大约需算 30多万年 ;
好方法不到一分钟。另外,有计算结果可靠性
问题。
2,特征值定义
)0( ?? xxAx ?
0??? xAx
0)( ??? xIA
0|| ?? IA ?
3,形式复杂时求根和求积分很困难。
4.线性微分方程易解,如
非线性方程难解,如
)(xf
12 '" ??? yyy 1)0()0( ' ?? yy
1s i n 2" ??? yyye y
1)0()0( ' ?? yy
希 望,求近似解,但方法简单可行,行之有效
(计算量小,误差小等)。以计算机为工
具,易在计算机上实现。
计算机运算, 只能进行加,减,乘,除等算术运
算和一些逻辑运算。
计算方法,把求解数学问题转化为按一定次序只
进行加,减,乘,除等基本运算 ——
数值方法。
? 计算方法的研究对象和内容就是研究求解
各种数学问题的数值方法及其理论,并且
将方法在计算机上实现,求出问题的数值
解,或者说是问题的近似解。主要体现在
第二步至第六步。
? 我们在学习中要注意不但要掌握和使用算
法,还要适当重视必要的理论分析,也就
是分析算法的收敛性、稳定性、误差分析
等,这样才能保证计算结果的可靠性。
§ 1.2 误差基础知识
,.,,,,,
!5!3
s i n
53
???? xxxx
.,,,,,
!5
)
!3
(s in
53
???? xxxx
一,误差来源(分类)
1,模型误差。
2,观测误差。
3,截断误差,如
右端是截断误差。
4,舍入误差。计算机字长有限,一般实数不能精确
存储,于是产生舍入误差。例如:在 10位十进
制数限制下,
舍入误差很小,本课程将研究它在运算过程中
是否能有效控制。
3 3 3 3 3 3 3 3 3 3.031 ?? )本应 ?3333333333 3.031( ??
2( 1, 0 0 0 0 0 2 ) 1, 0 0 0 0 0 4 0??

)本应(
12
2
104040 0 0 0 0 0 0 0 0 0.0
0 0 0 0 0 4.1040 0 0 0 0 4 0 0 0 0.1
0 0 0 0 0 4.10 0 0 0 0 2.1(
????
??
?
二.误差基本概念
1.绝对误差。设 —— 准确值,—— 近似值。
称 为 的绝对误差。
为 的绝对误差限。
2,相对误差 。 称 为 的相对误差 。
实用中, 常用 表示 的相对误差 。
称 为 的相对误差限 。
x *x
** )( xxxe ??
??|)(| *xe *x
*x
x
xx
r
ee *)(*)( ? *x
*
*)(
x
xe
rxre ??*)(
*x
*x
3.有效数字
如果一个数 的近似值 的误差的绝对值
不超过某一位的半个单位,则从 的这一
位开始,直到它前面的第一个非零数字为
止的所有数字,叫有效数字。若超过某一
位的半个单位,则从 的这一位的前一位
数字开始,直到它前面的第一个非零数字
为止的所有数字,叫有效数字。
*xx
*x
*x
? 例 1,取的近似值分别为, 3.14,
3.141,3.142,3.14159,3.141592时,其有效数
字位数分别为,。
? 解,e =3.141592653… - 3.14=0.001592653…
很明显没有超过百分位的半个单位,即 0.005。所
以有效位数从 3.14的 4开始向前数到它前面的第一
个非零数字 3为止,共 3位有效数字。
e =3.141592653… - 3.141=0.000592653… 很明
显超过了千分位的半个单位,即 0.0005。所以有
效位数从 3.141的 1的前一位 4开始向前数到它前面
的第一个非零数字 3为止,共 3位有效数字。
3, 1 4 1 5 9 2 6 5 3? ?
3 3 4 6 63 3 4 6 6
? 例 2:取 的近似值分为,0.051,
0.0510,0.05100,0.0509,0.05099时,其有效
数字位数分别为,。
解,e= 0.051 - 0.05099666…=0.00000334…
没有超过十万分位的一半,即 0.000005。那么,
应该从 0.051的十万分位开始向前数,但是,
0.051没有十万分位,所以有效数字的位数应该是
2。同样,0.0510应该为 3位有效数字; 0.05100
为 4位有效数字。
课堂练习 0.0509,0.05099
0, 0 5 0 9 9 6 6 6x ?
2 3 4 2 32 3 4 2 3
*x? 注意:若近似数 是四舍五入得到的,则近似数
从最后一位开始直到它前面第一个非零数字为止
都是其有效数字。
? 三、有效数字与误差限的关系
设 的近似值
其中 m为整数,分别是 0到 9中的某
个数字且 。
(1) 与绝对误差限的关系
若近似值 具有 n位有效数字,则,
(1.1)
x
*x
*x
1*| | | | 1 02 mnx x e ?? ? ? ?
x * 0, 1 012 mx a a a n? ? ?
,,,12a a a n
01a ?
(2) 与相对误差限的关系
定理 1:若近似值 具有 n位有效数字,则其相对
误差限为,
(1.2)
? 反之,若 的相对误差限满足
则 至少具有 n有效数字 。
由此可知,有效数字位数越多,相对误差限越小;
反之亦然。
*x
1*1| | 1 0
2 1 nr a? ???
*x
1*1| | 1 0
2 ( 1 )1
nr
a?
???
?
*x
? 例 3:要使 的近似数的相对误差限小于
应至少取几位有效数字?
? 解:设至少取 n位有效数字,则,


解得 n=4。
20 0.1%
2 0 0, 4 1 0??
1 11 0 0, 1 %24 nr? ?? ? ??
两边除以 得
(1.3)和( 1.4)给出了由自变量的误差引起的函
数值的误差的近似式(误差传播)。
四, 数值运算的误差估计
1,一元函数情形
设 则, 由 Taylor展开公式
),( xfy ?
*)* ) ((*)()(**)( xxxfxfxfyyye ???????
*)(*)(*)( xexfye ??
*)(**)( *)('*)( xrxxf xfyr ee ?
)( ** xfy ?
(1.4)
*)(*)( *)('* *)(*)(
* xeee
rxf
xfx
y
yy
r ??
)( ** xfy ?
( 1.3)
2,多元函数情形
设, ),,,(
21 nxxxfy ???? *),*,*,(* 21 nxxxfy ????
*)(*),*,*,(*)( 21
1
in
n
i
i xexxxfye ???
?? ?
?
*)(**),*,*,( *),*,*,(*)(
21
21
1
iri
n
ni
n
i
r xexxxxf xxxfye ??? ????? ?
?
2121 ),( xxxxf ??
2
1
21,x
xxx
)(21)21( *** m a x irir xexxe ????
21,xx
)2()1()21( **** xexexxe rrr ??
)( *2)1()2()1()*
2
*
1( *** xexexexe
x
xe
rrrrr ????
则,
由多元函数的 Taylor展开公式类似可得
( 1.5)
( 1.6)
在( 1.6)式中,分别取,可得
同号 ) ( 1.7)
( 1.8)
( 1.9)
(
,
例 1.3,测得某桌面的长 a的近似值 a*=120cm,宽 b的
近似值 b*=60cm。若已知 |e(a*)|≤0.2cm,
|e(b*)|≤0.1cm 。 试求近似面积 s*=a*b*
的绝对误差限与相对误差限。
2
241.01 2 02.060
|*)(||*||*)(||*||*)(|
*)(**)(*
*)(
*)*,(
*)(
*)*,(
*)(
cm
beaaebse
beaaeb
be
b
bas
ae
a
bas
se
?????
??
??
?
?
?
?
?
?
解, 面积 s=ab,在公式( 1.5)中,将
换为 s=ab,则
),( 21 xxfy ?
相对误差限为 %33.0
601 2 0
24|
*
*)(||*)(| ?
??? s
sese
r
§ 1.3 选用算法应遵循的原则
1.尽量简化计算步骤,减少乘除运算的次数,
例如,计算多项式
通常运算的乘法次数为
若采用递推算法,
则乘法次数仅为 n,又如
nnn xaxaaxp ????,,,,,,)( 10
2
)1(.,,,,,21 ????? nnn
0
1
)(
)0121(
uxp
,,,,n -n-kaxuu
au
n
kkk
nn
?
???
?
? ?
1 0 0 1
11)
1
11(
)1(
11 0 0 0
1
1 0 0 0
1
??????? ?
? ?n n nnnn
2.防止大数, 吃掉, 小数
当 |a|>>|b|时,尽量避免 a+b 。例如,假设计算机
只能存放 10位尾数的十进制数,则
3.尽量避免相近数相减
例如,当 x很大时,应
8998 1040000000000.0101.01004.010 ??????
1
11
????? xxxx
)1(
1
1
11
???? xxxx
,
2c o s1
s i n
s i n
c o s1 xtg
x
x
x
x 或
??
?
当 x接近于 0时,应
4.避免绝对值很小的数做分母
当 |b|<<|a|时,应尽量避免 。
5.选用数值稳定性好的算法,以控制舍入误差高速增
长。例如
若 (误差 )则计算
时误差扩大了 倍,而
b
a
1
10
1 5
5
n
nn
xI d x I
xn ?? ? ???
1 8 2 3.056ln0 ??I 41021 ??? 100I
1005
1
11()
5nnIIn? ??
( n=1,2,… )
是稳定的。
基本要求,
1.熟悉计算方法在解决实际问题中所处的地位,熟
悉计算方法是以计算机为工具求近似解的数值方
法;
2.熟悉绝对误差(限),相对误差(限)及有效数
字概念;
3.熟悉所有公式;
4.熟悉选用算法应遵循的原则;
作业,
P10 1(2)(4)(6);2(X2);3(3);7,