数值分析第一章
数值分析 第一章 绪论

利用算法
In 1
1 In n
则算法为稳定的。
In 1 nIn1
精确值
I n1
1 In n
0
0.6321
0.63212…
0.6321
1
0.3679
0.36787…
0.3679
2
0.2642
0.26424…
0.2642
3
0.2074
0.20727…
0.2073
4
0.1704
0.17089…
0.1709
17
5. 注意简化计算步骤,减少运算次数。
例如:计算多项式 Pn (x) an xn an1xn1 a0 的值。
若直接计算,共需乘法
1 2
n(n
1)
次,加法
n
次才能得到
Pn (x)
的值;若采用秦九韶算法:
Pn ( x) x( x ( x( xan an1) an2 ) ) a0
Sn an
In
e1
1 xnex dx ,n
0
0,1, 2,,9
。
解:直接积分可得到
I 0
e1
1 e xdx
0
1 e1
0.6321 : I0
In 1 nIn1 精确值
0
0.6321
0.63212…
1
0.3679
0.36787…
2
利用分部积分可得到递推式 ,
3
In 1 nIn1,
4
5
In 1 nIn 1
对阶时 0.0001 0.000000001105 ,计算机表示为0,计算 结果为 0.12345 105 ,结果不可靠。
10000
数值分析(第一章)修正版描述

2
例:为使 x 20 的近似值 x 的相对误差不超过 问查开方表时至少要取几位有效数字? * 解:设近似值 x 取n位有效数字可满足题设要求。 对于 x
1 103 2
*
20, 有x1 4
* r
1 1 1 n 1 n e 10 10 由定理,有 2 x1 8
1 1 1 n 3 10 10 令 8 解得 2
e* x* x * ,则称 * 为x* 近似x的一个绝对 差限,简称误差限。 误 . 实际计算中所要求的绝对误差,是指估计一个 尽可能小的绝对误差限。
*
2.相对误差及相对误差限
0) 的一个近似,称 定义 设 x 是准确值 x( *
*
为 x 近似x的一个绝对误差。在不引起混淆时,简称符 * * 号 er ( x )为 er * * * * 因 e e e x x
(1)有效数字
定义 :设x的近似值 x 有如下标准形式
*
x 10 0.x1x2 xn1 xp 9且x1 0, p n 其中m为整数, xi 0,1,2 ,
*
1 mn e x x 10 如果 2
* *
, * 则称 x 为的具有n位有效数字的近似数. 或称 x* 准确到 10m n 位,其中数字 x1 x2 xn ,分别 * x 被称为 的第一,第二,…第n个有效数字.
*
n
* i *
x * * f 'i ( x1 , x2 , i 1 y
n
* i *
x )er ( x )
* n
* i
绝对误差限和相对误差限满足传播不等式:
( y ) f 'i ( x , x ,
数值分析第一章

截断误差:
Rn(x)
f (n1)()xn1
(n1)!
舍入误差:机器字长有限
R 3 .14 0 1 .05 09 0 .数0 制转0 换、2 机器6 数.
二、误差、有效数字
定义1 绝对误差,简称误差: e*x* x,其x* 中 为准 x的 确 近 .值 似
误差限:*|e*|的一个上 . 界
数值分析
第1章 绪论
§1 数值分析的研究对象与特点
一、什么是数值分析
数值分析是计算数学的一个主要部分,计算数学是数 学科学的一个分支,它研究用计算机求解各种数学问题 的数值计算方法及其理论与软件实现.
实际问题→数学模型→数值计算方法 →程序设计→上机计算求出结果
先看两个例子。 例1 求方程 x2=2sinx,在区间(1,2)内的根。 理论上可知显然找不出根的解析式,即无法求出
而 按 (2.相 1 ), m 对 3 ,误 n3 差绝 .2限对 相误 同 2 *差 : 1 21限 05. r*0.005 /90..80000/00.0050.980
定理1设近似x*数 表示为
x*10m(a1a2101al 10(l1)) (2.)1
一般 Cp10认为是病 . 态 其他计算问题条 也件 要 ,考 数 考虑虑是否 . 病态
二、算法的数值稳定性
考虑初始数据误差在计算中的传播问题.
例 5计In算 e 10 1xnexdx,n0,1 , ,并估.计误
In 1 n n 1 I ,n 1 ,2 , , I01e1. (A) II0 n 1 0.6nI3n ,1 2,n11,2, . (B)II9n** 10.01n(168,In*4),n9,8, ( ,1I9. 1 2(110e110)0.06)8 定义一3个算法若输 误入 差 ,而数 在据 计有 算过 误差不,则 增称 长此算法是 的,否 数则 值是 稳不 定. 稳
数值分析第一章实验 误差分析

1. 计算11n x nI ex e dx -=⎰(n=0,1,2,……)并估计误差。
由分部积分可得计算n I 的递推公式111101,1,2,e 1.nn x I nI n I e dx e ---=-=⎧⎪⎨==-⎪⎩⎰……. (1) 若计算出0I ,代入(1)式,可逐次求出 12,,I I …的值。
要算出0I 就要先算出1e -,若用泰勒多项式展开部分和21(1)(1)1(1),2!!ke k ---≈+-+++…并取k=7,用4位小数计算,则得10.3679e -≈,截断误差14711|0.3679|108!4R e --=-≤<⨯.计算过程中小数点后第5位的数字按四舍五入原则舍入,由此产生的舍入误差这里先不讨论。
当初值取为000.6321I I ≈= 时,用(1)式递推的计算公式为 010.6321A 1nn I I nI -⎧=⎨=-⎩ (),n=1,2,…。
计算结果见表1的n I 列。
用0I 近似0I 产生的误差000E I I =- 就是初值误差,它对后面计算结果是有影响的.表1 计算结果从表1中看到8I 出现负值,这与一切0n I >相矛盾。
实际上,由积分估值得111110001011(im )(max)11x n n n x x e e m e x dx I e x dx n n ---≤≤≤≤=<<=++⎰⎰ (2) 因此,当n 较大时,用n I 近似n I 显然是不正确的。
这里计算公式与每步计算都是正确的,那么是什么原因合计算结果出现错误呢?主要就是初值0I 有误差000E I I =- ,由此引起以后各步计算的误差n n nE I I =- 满足关系1,1,2,n n E nE n -=-=….由此容易推得0(1)!n n E n E =-,这说明0I 有误差0E ,则n I 就是0E 的n!倍误差。
例如,n=8,若401||102E -=⨯,则80||8!||2E E =⨯>。
数值分析第一章1.3范数

A R ,令 A max X 0
nn
AX X
r
r
, ( r 1, 2, ),
r 则 为 与n 相容的范数,记为 。 A r Rn
称其为由向量范数诱导的矩阵空间的算子范数。
证明:1、向量范数与其诱导的矩阵空间的算子范数相容 证、 A R nn、Y R n , Y 0,
2
二、矩阵的范数 定义2 定义映射 :R nn R, A A ,若满足: 1、 A
0, A 0 当且仅当
A 0;
2、 aA a A , a R, A R nn ;
nn 3、 A B A B , AB A . B , A, B R ,
n
2
2 2 x12 x 2 x n 0;
2
i1 axi
n
2
a
xi2 a X 2 ; i 1
n
(3)易见,X
2
X T X , 由Cauchy-Schwarz不等式
( X T Y ) 2 ( X T X )(Y T Y )
X Y
2 2
(X Y) (X Y) X
2、(齐次性).任意 a R ,有 aX a X ; 3、(三角不等式). X Y X Y 。 将向量模的概念加以推广,便得到向量范数概念。
定义1 定义映射 ① ② ③
: R n ,若满足条件: R, X X
X 0;
X 0当且仅当 , X 0
aX a X , a R, X R n ;
X Y X Y , X ,Y Rn ,
n 则称其为 R上的一种范数。
最常用的如下三种向量范数: X x1 , x2 ,, xn T R n
数值分析原理课件第一章

第一章 绪 论本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题.§1.1 引 言计算方法以科学与工程等领域所建立的数学模型为求解对象,目的是在有限的时间段内利用有限的计算工具计算出模型的有效解答。
由于科学与工程问题的多样性和复杂性,所建立的数学模型也是各种各样的、复杂的. 复杂性表现在如下几个方面:求解系统的规模很大,多种因素之间的非线性耦合,海量的数据处理等等,这样就使得在其它课程中学到的分析求解方法因计算量庞大而不能得到计算结果,且更多的复杂数学模型没有分析求解方法. 这门课程则是针对从各种各样的数学模型中抽象出或转化出的典型问题,介绍有效的串行求解算法,它们包括(1)非线性方程的近似求解方法;(2)线性代数方程组的求解方法;(3)函数的插值近似和数据的拟合近似;(4)积分和微分的近似计算方法;(5)常微分方程初值问题的数值解法;(6)优化问题的近似解法;等等从如上内容可以看出,计算方法的显著特点之一是“近似”. 之所以要进行近似计算,这与我们使用的工具、追求的目标、以及参与计算的数据来源等因素有关.计算机只能处理有限数据,只能区分、存储有限信息,而实数包含有无穷多个数据,这样,当把原始数据、中间数据、以及最终计算结果用机器数表示时就不可避免的引入了误差,称之为舍入误差.我们需要在有限的时间段内得到运算结果,就需要将无穷的计算过程截断,从而产生截断误差. 如的计算是无穷过程,当用作为的 +++=!21!111e !1!21!111n e n ++++= e 近似时,则需要进行有限过程的计算,但产生了截断误差.e e n - 当用计算机计算时,因为舍入误差的存在,我们也只能得到的近似值,也就是n e n e *e 说最终用近似,该近似值既包含有舍入误差,也包含有截断误差.*e e 当参与计算的原始数据是从仪器中观测得来时,也不可避免得有观测误差.由于这些误差的大量存在,我们得到的只能是近似结果,进而对这些结果的“可靠性”进行分析就是必须的,它成为计算方法的第二个显著特点. 可靠性分析包括原问题的适定性和算法的收敛性、稳定性.所谓适定性问题是指解存在、惟一,且解对原始数据具有连续依赖性的问题. 对于非适定问题的求解,通常需要作特殊的预处理,然后才能做数值计算. 在这里,如无特殊说明,都是对适定的问题进行求解.对于给定的算法,若有限步内得不到精确解,则需研究其收敛性. 收敛性是研究当允许计算时间越来越长时,是否能够得到越来越可靠的结果,也就是研究截断误差是否能够趋于零.对于给定的算法,稳定性分析是指随着计算过程的逐步向前推进,研究观测误差、舍入对于同一类模型问题的求解算法可能不止一种,常希望从中选出高效可靠的求解算法. 如我国南宋时期著名的数学家秦九韶就提出求n 次多项式值0111a x a x a x a n n nn ++++-- 的如下快速算法;n a s =; k n a t -=t sx s +=),,2,1(n k =它通过n 次乘法和n 次加法就计算出了任意n 次多项式的值. 再如幂函数可以通过如下64x 快速算法计算出其值;x s =;循环6次s s s ⋅=如上算法仅用了6次乘法运算,就得到运算结果.算法最终需要在计算机上运行相应程序,才能得到结果,这样就要关注算法的时间复杂度(计算机运行程序所需时间的度量)、空间复杂度(程序、数据对存储空间需求的度量)和逻辑复杂度(关联程序的开发周期、可维护性以及可扩展性). 事实上,每一种算法都有自己的局限性和优点,仅仅理论分析是很不够的,大量的实际计算也非常重要,结合理论分析以及相当的数值算例结果才有可能选择出适合自己关心问题的有效求解算法. 也正因如此,只有理论分析结合实际计算才能真正把握准算法.§1.2 误差的度量与传播一、误差的度量误差的度量方式有绝对误差、相对误差和有效数字.定义1.1 用作为量的近似,则称为近似值的绝对误差.*x x )(:**x e x x =-*x 由于量x 的真值通常未知,所以绝对误差不能依据定义求得,但根据测量工具或计算情况,可以估计出绝对误差绝对值的一个较小上界,即有ε (1.1)ε≤-=x x x e **)(称正数为近似值的绝对误差限,简称误差. 这样得到不等式ε*x εε+≤≤-**x x x 工程中常用ε±=*x x 表示近似值的精度或真值x 所在的范围.*x 误差是有量纲的,所以仅误差数值的大小不足以刻划近似的准确程度. 如量 (1.2)m m cm s μ50001230000005.023.15.0123±=±=±=为此,我们需要引入相对误差定义1.2 用作为量的近似,称为近似值的相对误差. 当0*≠x x )(:**x e xxx r =-*x 是x 的较好近似时,也可以用如下公式计算相对误差*x (1.3)***)(xx x x e r -= 显然,相对误差是一个无量纲量,它不随使用单位变化. 如式(1.2)中的量s 的近似,无论使用何种单位,它的相对误差都是同一个值.同样地,因为量x 的真值未知,我们需要引入近似值的相对误差限,它是相*x )(*x r ε对误差绝对值的较小上界. 结合式(1.1)和(1.3),相对误差限可通过绝对误差限除以近似*x 值的绝对值得到,即(1.4)***)()(xx x r εε=为给出近似数的一种表示法,使之既能表示其大小,又能体现其精确程度,需引入有效数字以及有效数的概念.定义1.3 设量的近似值有如下标准形式x *x p n ma a a a x 21*.010⨯±= (1.5)()pm p n m n m m a a a a ----⨯++⨯++⨯+⨯±101010102211 =其中且,m 为近似值的量级. 如果使不等式}9,,1,0{}{1 ⊂=pi i a 01≠a (1.6)n m x x -⨯≤-1021*成立的最大整数为n ,则称近似值具有n 位有效数字,它们分别是、、… 和 . *x 1a 2a n a 特别地,如果有,即最后一位数字也是有效数字,则称是有效数.p n =*x 从定义可以看出,近似数是有效数的充分必要条件是末位数字所在位置的单位一半是绝对误差限. 利用该定义也可以证明,对真值进行“四舍五入”得到的是有效数. 对于有效数,有效数字的位数等于从第一位非零数字开始算起,该近似数具有的位数. 注意,不能给有效数的末位之后随意添加零,否则就改变了它的精度.例1.1 设量,其近似值,,. 试回答这三个近π=x 141.3*1=x 142.3*2=x 722*3=x 似值分别有几位有效数字,它们是有效数吗?解 这三个近似值的量级,因为有1=m 312*110211021005.000059.0--⨯=⨯=≤=- x x 413*2102110210005.00004.0--⨯=⨯=≤=- x x571428571428.3*3=x 312*310211021005.0001.0--⨯=⨯=≤=- x x 所以和都有3位有效数字,但不是有效数. 具有4位有效数字,是有效数.*1x *3x *2x 二、误差的传播这里仅介绍初值误差传播,即假设自变量带有误差,函数值的计算不引入新的误差. 对于函数有近似值,利用在点处),,,(21n x x x f y =),,,(**2*1*n x x x f y =),,,(**2*1n x x x 的泰勒公式(Taylor Formula),可以得到 )(),,,()(*1**2*1**i i ni n i x x x x xf y y y e -≈-=∑=(1.7))(),,,(*1**2*1i ni n i x e x x xf ∑== 其中,是的近似值,是的绝对误差. 式(1.7)表明函ii x f f ∂∂=:*i x i x )(*i x e *i x ),,2,1(n i =数值的绝对误差近似等于自变量绝对误差的线性组合,组合系数为相应的偏导数值. 从式(1.7)也可以推得如下函数值的相对误差传播近似计算公式 (1.8))(),,,()(***1**2*1*i r i ni ni r x e yx x x x f y e ∑=≈对于一元函数,从式(1.7)和(1.8)可得到如下初值误差传播近似计算公式)(x f y = (1.9))()()(***x e x f y e '≈ (1.10))()()(*****x e yx x f y e r r '≈式(1.9)表明,当导数值的绝对值很大时,即使自变量的绝对误差比较小,函数值的绝对误差也可能很大.例1.2 试建立函数的绝对误差(限)、相对误差n n x x x x x x f y +++== 2121),,,(的近似传播公式,以及时的相对误差限传播公式.{}ni i x 1*0=> 解 由公式(1.7)和(1.8)可分别推得和的绝对误差、相对误差传播公式如下(1.11)∑∑==≈ni i ini nix e x e x x xf y e 1**1**2*1*)()(),,,()(= (1.12)∑∑==≈ni i r i i r i ni ni r x e yx x e y x x x x f y e 1******1**2*1*)()(),,,()(= 进而有∑∑∑===≤≤≈ni i n i ini ix x e xe y e 1*1*1**)()()()(ε于是有和的绝对误差限近似传播公式 ∑=≈ni ixy 1**)()(εε当时,由式(1.3)推得相对误差限的近似传播公式{}ni i x 1*=>)(max )(max )(max )()()(*11***11***11****1**i r ni ni i ir n i ni i i r n i ni i r i ni ir x yx x yx x x y x yxy εεεεεε≤≤=≤≤=≤≤====≤=≈∑∑∑∑ 例1.3使用足够长且最小刻度为1mm 的尺子,量得某桌面长的近似值3.1304*=a mm ,宽的近似值mm (数据的最后一位均为估计值). 试求桌子面积近似值的绝8.704*=b 对误差限和相对误差限.解 长和宽的近似值的最后一位都是估计位,尺子的最小刻度是毫米,故有误差限 mm ,mm 5.0)(*=a ε5.0)(*=b ε面积,由式(1.7)得到近似值的绝对误差近似为ab S =***b a S = )()()(*****b e a a e b S e +≈进而有绝对误差限 mm 255.10045.03.13045.08.704)()()(*****=⨯+⨯=+≈b a a b S εεε相对误差限 %11.00011.08.7043.130455.1004)()(***=≈⨯=≈S S S r εε§1.3 数值实验与算法性能比较本节通过几个简单算例说明解决同一个问题可以有不同的算法,但算法的性能并不完全相同,他们各自有自己的适用范围,并进而指出算法设计时应该注意的事项. 算例1.1 表达式,在计算过程中保留7位有效数字,研究对不同)1(1111+=+-x x x x 的x ,两种计算公式的计算精度的差异.说明1:Matlab 软件采用IEEE 规定的双精度浮点系统,即64位浮点系统,其中尾数占52位,阶码占10位,尾数以及阶码的符号各占1位. 机器数的相对误差限(机器精度)eps=2-52≈2.220446×10-16,能够表示的数的绝对值在区间(2.2250739×10-308,1.797693×10308)内,该区间内的数能够近似表达,但有舍入误差,能够保留至少15位有效数字. 其原理可参阅参考文献[2, 4].分析算法1: 和算法2: 的误差时,精确解用双精111)(1+-=x x x y )1(1)(2+=x x x y 度的计算结果代替. 我们选取点集中的点作为x ,比较两种方法误差的差异.301}{=i i π 从图1.1可以看出,当x 不是很大时,两种算法的精度相当,但当x 很大时算法2的精度明显高于算法1. 这是因为,当x 很大时,和是相近数,用算法1进行计算时出x 111+x 现相近数相减,相同的有效数字相减后变成零,于是有效数字位数急剧减少,自然相对误差增大. 这一事实也可以从误差传播公式(1.12)分析出. 鉴于此,算法设计时,应该避免相近数相减.在图1.2中我们给出了当x 接近时,两种算法的精度比较,其中变量x 依次取为1-. 从图中可以看出两种方法的相对误差基本上都为,因而二者的精度相当.{}3011=--i iπ710-图1.1 算例1.1中两种算法的相对误差图()+∞→x图1.2 算例1.1中两种算法的精度比较)1(-→x 算例1.2 试用不同位数的浮点数系统求解如下线性方程组⎩⎨⎧=+=+2321200001.02121x x x x 说明2:浮点数系统中的加减法在运算时,首先按较大的阶对齐,其次对尾数实施相应的加减法运算,最后规范化存入计算机.算法1 首先用第一个方程乘以适当的系数加至第二个方程,使得第二个方程的的系1x 数为零,这时可解出;其次将带入第一个方程,进而求得(在第三章中称该方法为高2x 2x 1x 斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法1a 和算法1b . 算法 2 首先交换两个方程的位置,其次按算法1计算未知数 (第三章中称其为选主元的高斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法2a 和算法2b .方程组的精确解为, ,用不同的算法计算出的...25000187.01=x ...49999874.02=x 结果见表1.1.表1.1 对算例1.2用不同算法的计算结果比较算例1.2*1x )(*1x r ε*2x )(*2x r ε算法1a 0.00000.10×1010.50000.25×10-7算法2a 0.25000.75×10-70.50000.25×10-7算法1b 0.26000000.40×10-10.49999870.10×10-6算法2b0.25000200.50×10-80.50000000.25×10-7对于算例1.2,表中的数据表明,当用4位尾数计算时,算法1给出错误的结果,算法2则给出解很好的近似. 这是因为在实现算法1时,需要给第一个方程乘以加00001.0/2-至第二个方程,从而削去第二个方程中的系数,但在计算的系数时需做如下运算1x 2x(1.13)661610000003.0104.0103.0104.03200001.02⨯⨯⨯⨯=+⨯+=-+--对上式用4位尾数进行计算,其结果为. 因为舍入误差,给相对较大的数加以6104.0⨯-相对较小的数时,出现大数“吃掉”小数的现象. 计算右端项时,需做如下运算(1.14)661610000002.0102.0102.0102.02100001.02⨯⨯⨯⨯=+⨯+=-+--同样出现了大数吃小数现象,其结果为. 这样,得到的变形方程组6102.0⨯-⎩⎨⎧⨯-=⨯-⨯=⨯+⨯62612114102.0104.0101.0102.0101.0x x x 中没有原方程组中第二个方程的信息,因而其解远偏离于原方程组的解. 该算法中之所以出现较大数的原因是因为运算,因而算法设计中尽可能避免用绝对值较大的数00001.0/2-除以绝对值较小的数. 其实当分子的量级远远大于分母的量级时,除法运算还会导致溢出,计算机终止运行.虽从单纯的一步计算来看,大数吃掉小数,只是精度有所损失,但多次的大数吃小数,累计起来可能带来巨大的误差,甚至导致错误. 例如在算法1a 中出现了两次大数吃小数现象,带来严重的后果. 因而尽可能避免大数吃小数的出现在算法设计中也是非常必要的. 当用较多的尾数位数进行计算,舍入误差减小,算法1和2的结果都有所改善,算法1的改进幅度更大些.算例1.3 计算积分有递推公式,已知⎰+=1055dx x x I n ),2,1(511 =-=-n I nI n n . 采用IEEE 双精度浮点数,分别用如下两种算法计算的近似值.56ln 0=I 30I算法1 取的近似值为,按递推公式计算0I 6793950.18232155*0=I *1*51--=n n I nI *30I 算法2 因为,取的近似值为)139(5156)139(611039103939+⨯=<<=+⨯⎰⎰dx x I dx x 39I ,按递推公式计算3333330.004583332001240121*39≈⎪⎭⎫ ⎝⎛+=I ⎪⎭⎫ ⎝⎛-=-**1151n n I n I *30I 算法1和算法2 的计算结果见表1.2. 误差绝对值的对数图见图1.3.表1.2 算例1.3的计算结果算法1算法2n *nI n n I I -*n *nI nn I I -*18.8392e-002 1.9429e-01639 4.5833e-0033.9959e-0042 5.8039e-0029.8532e-016384.2115e-0037.9919e-0053 4.3139e-002 4.9197e-01537 4.4209e-003 1.5984e-0054 3.4306e-002 2.4605e-01436 4.5212e-003 3.1967e-0065 2.8468e-002 1.2304e-01335 4.6513e-003 6.3935e-0076 2.4325e-002 6.1520e-01334 4.7840e-003 1.2787e-007………33 4.9255e-003 2.5574e-00825 1.1740e+001 1.1734e+00132 5.0755e-003 5.1148e-00926-5.8664e+001 5.8670e+00131 5.2349e-003 1.0230e-00927 2.9336e+002 2.9335e+002 305.4046e-003 2.0459e-01028-1.4667e+003 1.4668e+003 297.3338e+0037.3338e+003 30-3.6669e+004 3.6669e+004图1.3 算例1.3用不同算法计算结果的误差绝对值的对数图从表1.2中的计算结果可以看出,算法1随着计算过程的推进,绝对误差几乎不断地以5的倍数增长,即有0*02*221*1*555I I I I I I I I n n n n n n n -≈≈-≈-≈----- 成立. 对于逐步向前推进的算法,若随着过程的进行,相对误差在不断增长,导致产生不可靠的结果,这种算法称之为数值不稳定的算法. 对于算法1绝对误差按5的幂次增长,但真值的绝对值却在不断变小且小于1,相对误差增长的速度快于5的幂次,导致产生错误的结果,因而算法1数值不稳定,不能使用. 而算法2随着计算过程的推进,绝对误差几乎不断地缩小为上一步的1/5,即有m m n m n n n n n n n I I I I I I I I 5/5/5/*22*21*1*++++++-≈≈-≈-≈- 成立. 绝对误差不断变小,真值的绝对值随着过程向前推进却在变大,这样相对误差也越来越小,这样的方法称之为数值稳定的算法. 算法1和算法2的误差对数示意图见图1.3. 这个算例告诉我们应该选用数值稳定的算法.知识结构图⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧⎩⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧算法设计要点数值方法的稳定性数值方法的收敛性算法多元函数一元函数传播有效数字相对误差(限)绝对误差(限)度量截断误差舍入误差误差的产生误差误差与算法习题一1 已知有效数,,. 试给出各个近似值的绝对误105.3*1-=x 4*210125.0⨯=x 010.0*3=x 差限和相对误差限,并指出它们各有几位有效数字.2 证明当近似值是x 的较好近似时,计算相对误差的计算公式和相差一个*x x x x -***xxx -和同阶的无穷小量.2*⎪⎪⎭⎫⎝⎛-x x x 3 设x 的近似值具有如式(1.5)的表示形式,试证明*x 1)若具有n 位有效数字,则相对误差;*x n r a x e -⨯≤11*1021)(2)若相对误差,则至少具有n 位有效数字.n r a x e -⨯+≤11*10)1(21)(*x 4 试建立二元算术运算的绝对误差限传播近似计算公式.5 试建立如下表达式的相对误差限近似传播公式,并针对第1题中数据,求下列各近似值的相对误差限.1) ; 2) ; 3) *3*2*1*1x x x y +=3*2*2x y =*3*2*3/x x y =6若例题1.3中使用的尺子长度是80mm ,最小刻度为1mm ,量得某桌面长的近似值mm ,宽的近似值mm . 试估计桌子长度、宽度的绝对误差限,并3.1304*=a 8.704*=b 求用该近似数据计算出的桌子面积的绝对误差限和相对误差限.7 改变如下计算公式,使其计算结果更为精确.1) 且0,cos 1≠-x xx1<<x 2)1,1ln )1ln()1(ln 1>>--++=⎰+N N N N N xdx N N3) 1,133>>-+x x x 8 (数值试验)试通过分析和数值试验两种手段,比较如下三种计算近似值算法的可靠性.1-e 算法1 ;∑=--≈mn nn e 01!)1( 算法2 ;101!1-=-⎪⎭⎫ ⎝⎛≈∑m n n e算法3 ;101)!(1-=-⎪⎪⎭⎫ ⎝⎛-≈∑m n n m e9 (数值试验)设某应用问题归结为如下递推计算公式 ,,72.280=y 251-=-n n y y,2,1=n 在计算时取为具有5位有效数字的有效数. 试分析近似计算公式的2*c **1*5c y y n n -=-绝对误差传播以及相对误差传播情况,并通过数值实验验证 (准确值可以用IEEE 双精度浮点运算结果代替),该算法可靠可用吗?。
数值分析第一章

21024(2-2-52) ≈10308 The smallest normalized positive machine number: 2-1024(1+2-52) ≈10-308
If ︱x︱< 10-308 , then result in underflow, fl(x) is set to zero; If ︱x︱>10308, then result in overflow, the computation will halt.
计算机数系
(Collection of machine numbers)
reference books
误差及其运算
(Errors and Operations)
▲
什么是算法和计算量? 什么是算法和计算量? (Algorithm and Calculated Quantities )
▲
Calculated Quantities
A
cij = ∑ a ik b kj i = 1,
k =1
n
,m; j = 1,
B
( ((anx + an−1)x + an−2)x + + a1)x + a0
The Number of Operations of AB is
N= (m ×n ×s )flop
计算机数系(Collection of machine numbers)
Basic Concepts in Numeric Analysis 算法与计算量
(Algorithm and Calculated Quantities)
2.<应用计算方法教程>, 张晓丹,郑连存等编,机械出版 社,2008,6 3. 《科学和工程计算基础》,施妙根、顾丽珍 编著,清华大学 出版社。1999
数值分析第1章绪论

THANKS
感谢您的观看
算法创新
在数值分析中,创新算法的提出是推 动学科发展的重要动力。新的算法可 以解决传统算法难以处理的问题,提 高计算效率和精度。
Part
05
Байду номын сангаас
数值分析的展望与启示
数值分析与其他学科的交叉研究
数值分析与物理学的交叉
数值分析在解决物理问题中扮演着重要角色,如流体动力学、电磁学和量子力学等领域。 通过数值模拟和计算,可以更深入地理解物理现象和预测新现象。
Part
04
数值分析的挑战与未来发展
数值稳定性的挑战
数值稳定性问题
在数值分析中,算法的数值稳定性是一个重要的问题。不稳定的算法可能会导致计算结果的误差累积,从而影响 结果的精度。
解决方法
为了提高数值稳定性,可以采用多种方法,如改进算法、增加迭代次数、使用稳定的数据类型等。
高性能计算的需求
高性能计算的重要性
或最小化线性目标函数问 题,如单纯形法等。
微分法
数值微分
利用已知函数值估计函数在某点 的导数值。
偏微分方程数值解
通过有限差分法、有限元法等求 解偏微分方程的数值解。
数值积分
利用已知函数值计算函数在某个 区间的积分值。
常微分方程数值解
通过离散化方法求解常微分方程 的数值解,如欧拉法、龙格-库塔 法等。
逼近法
最佳平方逼近
利用已知的离散数据点构造一个多项式,使得该 多项式在最小二乘意义下逼近目标函数。
傅里叶逼近
利用傅里叶级数的性质进行逼近,适用于周期函 数的逼近。
ABCD
切比雪夫逼近
利用切比雪夫多项式的性质进行逼近,具有最佳 逼近和一致逼近的特点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
初值误差传播:假设每一步都是准确
计算,即不考虑截断误差和由运算进 一步引入的舍入误差,仅介绍初始数 据的误差传播规律。
–研究方法:
泰勒(Taylor)方法
–n元函数
复习泰勒公式
( x1* , x2* , , xn* ) 为 p*, 记点
点 ( x1 , x2 , , xn ) 为 p,n 元泰勒公式:
定义:设 x 的近似值 x 有如下标准形式 x * 10 m 0.α1α 2 α n ...αp , 其中 m 为整数, {αi } {0,1,2, ,9} 且 α1 0 . 如果有
*
E(x*) x x* 1 10 m n , 2
则称 x 为 x 的具有 n 位有效数字的近似数, 或称 x 准确到
数值问题举例
dy 2 x y dx y (0) y 0 x [0, 1]
是用一阶常微分方程初值问题表示的 数学模型,要求无穷多个输出,因而它不是 数值问题 。但当我们要求出有限个点处函 数值的近似值时,便成为一数值问题。
设计高效可靠的算法
计算方法的任务之一就是提供求得数值问 题近似解的方法—算法。
绝对误差与相对误差
E ( x* ) / x* Er ( x* )
绝对误差与有效数字(教材第7页1.2.2式)
E ( x* ) 1 10 mn 2
相对误差与有效数字(教材第8页1.2.3式)
定理: 1 2
0
若 x*具有 n 位有效数字,则相对误差 若相对误差
1 Er ( x*) 101n ,则 2(α1 1)
r
2
3)截断误差(方法误差) 数值方法精确解与待求解模型的理论分 析解之间的差异。 这是由于我们需要将无穷过程截断为有 限过程,而使得算法必须在有限步内执行结 束而导致的。
例如:
1 1 1 1 1 e 1 , en 1 , e en 1! 2! 1! 2! n!
Remark4: 从实验仪器所读的近似数(最后一为 是估计位)不是有效数,估计最后一位是为了确 保对最后一位进行四舍五入得到有效数。 –例 从最小刻度为厘米的标尺读得的数据 123.4cm是为了得到有效数123.cm,读得数据 156.7cm是为了得到有效数157.cm。
4.误差度量间的联系
* *
10 mn
位,其中数字 α1 , α2 , , αn 分别被称为 x*的第一、二、…、n 个有 效数字。
有效数:当x*
准确到末位,即n=p,则称 x*为有效数。即四舍五入得到的近似数。 举例:x=π=3.1415926…, 近似数 x1*=3.14102, x2*=3.142
课程名称
数值分析 或计算方法
第一章 数值计算中的误差分析 (绪论)
内容提要 §1.1 计算方法的任务与特点 §1.2 误差知识(误差与误差估计) §1.3 选用算法时应遵循的原则
§1.1计算方法的任务与特点
计算机的用途分类:科学计算、数据处理…
科学与工程计算过程:实际问题→数学模型
→数值问题→算法→程序→调试→结果
Remark1: 当要求计算相对误差,是指估计一个 尽可能小的相对误差限。
Remark2: 相对误差及相对误差限是无量纲的,但绝对 误差以及绝对误差限是有量纲的。
3.有效数字
为了规定一种近似数的表示法,使得用它表示 的近似数自身就直接指示出其误差的大小。为此需 要引出有效数字和有效数的概念。
1 f ( p* ) f ( p* ) * * *) f ( p) f ( p ( x1 x1 ) ( xn xn ) 1! x1 xn
1 2 f ( p* ) f 2 ( p* ) * ( x1 x1* ) 2 ( x1 x1* )( xn xn ) 2! x1x1 x1xn 2 f ( p* ) 2 f ( p* ) * * * ( x2 x2 )( x1 x1* ) ( x2 x2 )( xn xn ) x2x1 x2xn f (p ) f (p ) * * * 2 ( xn xn )( x1 x1 ) ( xn xn ) xn x1 xn xn
1 1 mn 10 101 n 2 10 m-1 α1 2α1
2o
1 E ( x ) Er ( x*) x 101n 10m-1 (α1 1) 2(α1 1)
* *
1 10 m n 2
证毕
Remark
1、该定理实质上给出了一种求相对误差限的方法。
数值分析研究的第二个任务。
一个算法在保证可靠的大前提下再评价其 优劣才是有价值的。 算法的优劣评价:可靠算法的优劣,应该考 虑其时间复杂度(计算机运行时间)、空间 复杂度(占据计算机存储空间的多少)以及 逻辑复杂度(影响程序开发的周期以及维护 )。这是数值分析研究的第三个任务。
计算方法的特点
严密的科学性、操作的实践性、高度抽
教材第6页中间:
若近似数x*的绝对误差限不超过某一位
的半个单位,则称其精确到这一位,且 从该位到x*的第一位非零数字共有n位, 则称近似数x*具有n位有效数字。(返回 前两页例题)
Remark1: 有效数的误差限是末位数单位的一半 ,可见有效数本身就体现了误差界。 Remark2: 对真值进行四舍五入得到有效数。 Remark3:准确数字有无穷多位有效数字。
1 n Er x *) ( 101并不能保证x*一定具有n 2、仅从 2α1
位有效数字。如 A sin 29 20 0.4900
设其近似值a=0.484,其相对误差为:
0.4900 0.484 1 0.012397 0.0125 101 2 0.484 2 4
1 Er ( x*) 10 1n ; 2α1
0
x*至少具有 n 位有效
数字。
定理证明
x1 10
m 1
x ( x1 1) 10
*
m 1
,
1 E ( x ) 10 m n 2
*
1o
E ( x* ) 1 Er ( x*) * 10 m n x* x 2
1 13 x x 0.00057 0.005 10 2 3位有效数字,非有效数
* 1
1 14 x x 0.00040 0.0005 10 2
* 2
4位有效数字,有效数
有效数的绝对误差限、相对误差限
有效数x*=1.234,则
E(x*)=0.0005 若x*= 29×102,则 E(x*)=50 若x*= 2900,则 E(x*)=0.5 若x*= 29×10-2,则 E(x*)=0.005 2900=29.00×102≠ 29×102
建立数学模型:
辨析实际问题其中的主要矛盾和次要矛盾 ,并在合理假设的条件下,运用各种数学理 论、工具和方法,建立起问题中不同量之间 的联系 ,即得到数学模型。
提出数值问题
数值问题是指有限个输入数据(问题 的自变量、原始数据)与有限个输出数据 (待求解数据)之间函数关系的一个明确 无歧义的描述。这正是数值分析所研究的 对象。
e e (e en ) (en e)
* *
二、误差的度量
1) 2) 3) 4)
绝对误差 相对误差差
绝对误差定义:准确值 x 减近似值 x*
x x E ( x* )
*
*
在不引起混淆时,简记 E(x )为 E。 • 绝对误差限:
如果存在正数η
算法:指把对数学问题的解法归结为只有 加、减、乘、除等基本运算,并确定运算次序 的完整而准确的描述。
算法分类: 从算法执行所花费的时间角度来讲,若 算术运算占绝大多数时间则称其为数值型算 法,否则为非数值型算法。 本课程介绍数值型串行算法。(其它类 型算法参阅数据结构、并行算法等课程。)
算法的可靠性:算法的可靠性包括算法的收 敛性、稳定性、误差估计等几个方面。这些是
我们并不能由此断定a有两位有效数字,因为
A a 0.4900 0.484 0.0600 0.005 1 100 2 2
例题
为使 x 5 的近似值
x 的相对误差不超过 1%,问查开方表
*
时至少要取几位有效数字?
解: * 设近似数 x 保留 n 位有效数字可满足题设要求.
象性、应用的广泛性、提供算法、算法 分析、兼顾计算机的特点:有效数字( 精度)、运算量、存储量等。
算法应用状态
计算方法研究对象以及解决问题方法的 广泛适用性,著名流行软件如Maple、Matlab、 Mathematica等已将其绝大多数内容设计成函 数,简单调用之后便可以得到运行结果。 但由于实际问题的具体特征、复杂性, 以及算法自身的适用范围决定了应用中必须 选择、设计适合于自己特定问题的算法,因 而掌握数值方法的思想和内容是至关重要的。
η ( x* ) ,使得有绝对误差
E(x * ) x x * η
,
则称η为 x*近似 x 的一个绝对误差限。
x [ x * η , x * η ] , x x * η
个尽可能小的绝对误差限。
。
Remark: 通常计算中所要求的误差, 是指估计一
2.相对误差
•
Remark: 绝对误差限虽然能够刻划对同一真值 不同近似的好坏,但它不能刻划对不同真值近似 程度的好坏 。
4)舍入误差 在实现数值方法的过程中,由于计算机表示 浮点数采用的是有限字长,因而仅能够区分有限 个信息,准确表示某些数,不能准确表示所有实 数,这样在计算机中表示的原始输入数据、中间 计算数据、以及最终输出结果必然产生误差,称 此类误差为舍入误差。 如利用计算机计算e的近似值en时,实际上 得不到en的精确值,只能得到en的近似e*;这样 e*作为e的近似包含有舍入误差和截断误差两部 分: