第一章 数值分析


x =0.1823 n =1 x = 0.0884 n =2 x =0.0581 n = 3 x = 0.0431 n = 4 x = 0.0346 n = 5 x = 0.0271 n =6 x = 0.0313 n =7 x =-0.0134 n = 8 x =0.1920 n = 9 x = -0.8487 n =1 x = 4.3436 n =11 x =-21.6268 n =12 x =108.2176 n =13 x =-541.0110 n =14 x =2.7051e+003 n =15 x = -1.3526e+004 n =16 x =6.7628e+004 n =17 x = -3.3814e+005 n =18 x =1.6907e+006 n =19 x =-8.4535e+006 n =20 x =4.2267e+007
1 x x 103 m n 4 7 3 2
*
15
有效数字与绝对误差、相对误差的关系
x* 0.a1a2 ( a1 0)有n位 an 10 m
1 x x 10 m n 2
*
有效数字
1 r 10 n1 2(a1 1)
x* 0.a1a2 ( a1 0)有n位
3.142 3.142 0.00041 10 3
( 3.14241 3.142 0.00041)
10
1 2
例:问3.142,3.141,22/7分别作为

的近似值各具有几位有效数字?

3.14159265 . x1 3.142, x2 3.141, x3 22 7. x1 3.14159
[注]:函数的和、差、积、商的部分误差公式为:
e( x1 x2 ) e( x1 ) e( x2 ),
x1 x2 er ( x1 x2 ) er ( x1 ) er ( x 2 ) x1 x2 x1 x2
e( x1x2 ) x2e( x1 ) x1e( x2 ) er ( x1x2 ) er ( x1 ) er ( x2 )
2


数值分析
第一章 数值计算中的误差分析
第二章 线性方程组的直接解法
第三章 线性方程组的迭代解法 第四章 矩阵特征值特征向量的计算 第五章 函数插值 第六章 曲线拟合
第七章 数值积分与数值微分
第八章 非线性方程的数值解法 第九章 常微分方程的数值解法
3
数值分析
第一章
数值计算中的误差分析
本章的主要内容有 :
13
x 1
*
n ,
一般地,任何一个实数x经过四舍五入后得
式 到的近似值x* 都可以写成如下标准形
m 0. 10 1 2 n 1 m .m1 n
x* (1 101 2 102
n 10 n ) 10m
所以,当其绝对误差限 为 1 * xx 10 m n 2
按照误差的来源,误差可以分为:模型误差、观测误差
、截断误差、舍入误差四种. 1. 模型误差
用数值计算方法解决问题时,首先必须建立数学模型.由
于实际问题的复杂性,在对实际问题进行抽象与简化时,往往
为了抓住主要因素而忽略了一些次要因素,这样就会使得建 立起来的数学模型只是复杂客观现象的一种近似描述,它与 实际问题之间总会有一些误差.我们把这种数学模型与实际 问题之间出现的这种误差称为模型误差.
x
23
EX
I n x /( x 5)dx
n 0
1
(1’)
1 5I n 1 , n 1,2, ( A) (2’) n 11 I k 1 I k , k n, n 1,,1( B) 5k In
算法1:x=0.182322 for n=1:20 n x=-5*x+1/n end 算法2:x=0.00873016 for n=20:-1:1 n-1 x=-(1/5)*x+1/(5*n) end
数值分析
主讲数值分析课题组 Chenning
1
数值分析课程简介
数值分析
数值分析主要包括计算方法和数值方法两 部分。它是研究科学与工程技术中数学问题的 数值解及其理论的一个重要的数学分支,它主 要涉及到代数、微积分、微分方程的数值解等 问题。 数值分析及计算的主要任务,就是研究适合 于在计算机上使用的的数值计算方法及与此相 关的理论,如方法的收敛性、稳定性及误差分 析等。此外,还要根据计算机的特点,研究计 算时间最短、需要计算机内存最优等计算方法 问题。
e x x*

9
称为近似值x*的绝对误差限。 简称误差限或精度.
有了误差限和近似值,可得到准确值范围
x x x .
* *
易知,由四舍五入所得到的数,其误差限 一定不超过被保留数的最后数位上的半个单位
1 3.14 3.14 0.0016 102. 2 ( 3.1416 3.14 0.0016)
(一) 误差的来源;
(二) 绝对误差、相对误差和有效数值; (三) 数值计算中误差的传播;
(四) 数值计算中应注意的问题。
4
数值分析
第一节 误差与数值计算 的误差估计 第二节 选用和设计算法
适应遵循的原则
5
数值分析
误差与数值计算误差估计 一 误差的来源与分类 二 误差与有效数字
6
数值分析

误差的来源与分类
e x x* er x x
若存在正数 ,使得
e er * r , x
称为x*的相对误差限。
12
3
有效数字
如果近似值x的误差限是其某一位上的半个单 位, 且该位直到x的第一位非零数字一共有n位,则 称近似值x有n位 有效数字。
自左向右看,第一个非零数 误差不超过该数的半个单位。
* * * * y f ( x , x , , x 1 2 n) 相应的解为 * 设 f 在点 ( x*1 , x可微 ,, 当数据误差较小 x* n ) 2 , 时,解的绝对误差为
e( y* ) y y* f ( x1, x2 ,
n
, xn ) f ( x*1, x*2 ,
1 r ( x) 10 ( n 1) 1% 2 4
*
于是有
解之得 n 2, 故取n 3即可满足要求。
18
小结
模型误差 观测误差 截断误差 舍入误差 绝对误差 绝对误差限 相对误差 相对误差限 有效数字 有效数字与绝对误差、相对误差的关系
19
第二节
选用和设计算法适应 遵循的原则
即:和、差的误差限不超过各数的误差限的和,积、 商的相对误差限不超过各数的相对误差限的和。
n 的相对误差与x的相对误差之 例1、设 y ,求 xy
间的关系。 n 解:由公式知,er ( y) d (ln x ) nd(ln x) ner ( x) 则 的相对误差为 x相对误差的n倍。特别有 xn 相对误差为x相对误差的0.5倍。
7
2
观测误差
在数学模型中往往有一些观测或实验得来的物理
量,由于测量工具和测量手段的限制,它们与实际量大
小之间必然存在误差,这种误差称为观测误差.
3
截断误差
由实际问题建立起来的数学模型,在很多情 况下要得到 准确解是困难内的,通常要用数值方法求出它的近似解.这
种数学模型的精确解与由数值方法求出的近似解之间的
误差称为截断误差,由于截断误差是数值计算方法固有的, 故又称为方法误差.
8
4
舍入误差
用计算机进行数值计算时,由于计算机的数位有
限,计算时只能对超过位数的数字进行四舍五入,由此 产生的误差称为舍入误差.
二 .误差与有效数字
1 绝对误差与绝对误差限 设x*为准确值x的一个近似值,称
e=x-x*.
为近似值x*的绝对误差
数值计算过程中不会导致误差迅速增长的计算公式。
例 1 计算定积分
I n e 1 x n e x dx
0
1
(1.2.1)
25
解 算法一 利用分部积分法不难求得递推关系式:
I n 1 nIn1 (1.2.2) 1 I 0 1 e 0.6321
(2)若x的近似值x* 0.a1a2 an 10m (a1 0)有n位有效数字, 1 则 10 n 1为其相对误差限。反之, 若x*的相对误差限 r 满足 2a1
r
1 10 n 1 2(a1 1)
17
则x*至少具有n位有效数字。
EX:P13.5

20的近似值的首位非零数 字是1 4,
an 10 m
e xx er x x
*
1 10 n 1 2a1
绝对误差(限)
e
相对误差(限)
er r ,
16
4 有效数字与绝对误差、相对误差的关系:
(1)若某数x的近似值x*有n位有效数字,则 此近似值x*的绝对误差限为 1 * x x 10 m n 2
x = 0.0087 ans = 19 x = 0.0083 ans = 18 x = 0.0089 ans =17 x = 0.0093 ans = 16 x = 0.0099 ans = 15 x = 0.0105 24
一、选用数值稳定的计算公式,控制舍 入误差的传播
一个算法是否稳定是非常重要的,如果算法不 稳定,则数值的结果就会严重背离数学模型的真实 结果。在选择数值计算公式来进行计算时,应用在
一、选用数值稳定的计算公式,控制舍入误差的 传播 二、尽量简化计算步骤以减少计算次数 三、尽量避免两个相邻的数相减 四、小结
合集下载

数值分析第一张,引言

数值分析第一张,引言

模型(móxíng)设计
算法设计
上机计算
问题的解
共四十七页
结束(jiéshù)
其中算法设计是数值(shùzí)分析课程的主要内容.
数值分析课程(kèchéng)研究常见的基本数学问题的数值解法.包含了
数值代数(线性方程组的解法、非线性方程的解法、矩阵求逆、 矩阵特征值计算等)、数值逼近、数值微分与数值积分、常微分方程 及偏微分方程的数值解法等.它的基本理论和研究方法建立在数学 理论基础之上,研究对象是数学问题,因此它是数学的分支之 一.
3! 5! 7!
(2n 1)!
( 1.1)
这是一个无穷级数,我们只能(zhī nénɡ)在适当的地方“截断 ”,使计算量不太大,而精度又能满足要求.
如计算 sin 0.5,取n=3 sin 0.5 0.5 0.53 0.55 0.57 0.479625
3! 5! 7!
共四十七页
结束
据泰勒余项公式(gōngshì),它的误差应 为
• 1998年7月30-31日,美国DOE/FNS 共同联合组织召开了 关于“先进科学计算”的全国会议,会议强调科学模拟的重
要性,希望应用科学模拟来攻克复杂的科学与工程难题。
共四十七页
数值分析是计算数学的一个主要部分,方法解决科学研究或 工程技术问题,一般按如下途径进行:
实际 (shíjì)问

程序设计
R (1)9 9
9!
0,
4
R ( / 4)9 3.13 10 7
362880
( 1.2)
可见结果(jiē guǒ)是相当精确的.实际上结果(jiē guǒ)的六位数字都是 正确的.
2 算法常表现(biǎoxiàn)为一个连续过程的离 散化

数值分析

数值分析

第一章 数值分析与科学计算引论1,1 数值分析的对象、作用与特点用计算机求解科学技术问题通常经历一下步骤: (1).根据实际问题建立数学模型。

(2).由数学模型给出数值计算方法。

(3).根据计算方法编制算法程序(数学软件)在计算机上算出结果。

数值分析的特点:第一, 面向计算机,要根据计算机的特点提供切实可行的有效算法。

第二, 有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要进行误差分析。

第三, 要有好的计算复杂性。

第四, 要有数值实验。

1.2 数值计算的误差1.数学模型与实际问题之间出现的这种误差称为模型误差。

2.用数值方法求它的近似解,其近似解与精确解之间的误差称为截断误差或方法误差。

3.设x 为准确值,*x 为x 的一个近似值,称x x e -=**为近似值的绝对误差,简称误差。

4.*e 的绝对值不超过*ε,*ε叫做近似值的误差限。

5.误差*e 与准确值x 得比值xx x x e -=**称为近似值*x 的相对误差,记作*r e 。

6.相对误差也可正可负,它的绝对值上界叫做相对误差限,记作*r ε,即***xrεε=。

7.若近似值*x 的误差限是某一单位的半个单位,该位到*x 的第一位非零数字共有n 位,就说*x 有n 位有效数字。

它可表示为)1010(10)1(121*---⨯++⨯+⨯±=n n m a a a x ,其中),,2,1(n i a i =是0到9中的一个数字,m a ,01≠为整数,且1*1021+-⨯≤-n m x x 。

8.设近似数*x 表示为)1010(10)1(121*---⨯++⨯+⨯±=n n m a a a x ,其中),,2,1(n i a i =是0到9中的一个数字,m a ,01≠为整数。

若*x 具有n 为有效数字,则其相对误差限)1(1*1021--⨯≤n r a ε;反之,若*x 的相对误差限)1(1*10221--⨯+≤n r a ε,则*x 至少具有n 为有效数字。

数值分析(第一章)修正版描述

数值分析(第一章)修正版描述

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 ,

《数值分析》杨大地-答案(第一章)精选全文完整版

《数值分析》杨大地-答案(第一章)精选全文完整版

可编辑修改精选全文完整版数值分析-第1章1.填空题(1)为便于算法在计算机上实现,必须将一个数学问题分解为有限次的四则运算;(2)在数值计算中为避免损失有效数字,尽量避免两个相近数作减法运算;为避免误差的扩大,也尽量避免分母的绝对值远小于分子的绝对值;(3)误差有四大来源,数值分析主要处理其中的截断误差和舍入误差;(4)有效数字越多,相对误差越小;2. 用例1.4的算法计算10,迭代3次,计算结果保留4位有效数字。

//见P4解题思路:假定x0是√a的一个近似值,x0>0,则ax0也是√a的一个近似值,且x0和ax0两个近似值必有一个大于√a,另一个小于√a,设想它们的平均值应为√a的更好的近似值,于是x k+1=1 2(x k+ax k),k=0,1,2,……解:取x0=3,按算法x k+1=12(x k+ax k),k=0,1,2,……迭代3次有:x1=12(x0+10x0)=(3+103)≈3.167x2=12(x1+10x1)=(3.167+103.167)≈3.162x3=12(x2+10x2)=(3.162+103.162)≈3.1623. 推导开平方运算的误差限公式,并说明什么情况下结果误差不大于自变量误差。

//见P8解:已知f(x)=√x,设x∗是准确值,令x是x∗的一个近似值,则相对误差e(f(x))=f(x)−f(x∗),由Taylor公式f(x∗)=f(x)0! +f′(x)1!(x∗−x)+f"(x)2!(x∗−x)2+⋯+f n(x)n!(x∗−x)n+R n(x)其中,R n(x)=f n+1(ξ)(n+1)!(x∗−x)n+1将f(x∗)展开分析有:f(x∗)=√x2√x x∗−x)+⋯+f n(ξ)n!(x∗−x)n+R n(x)∴e(f(x))=f(x)−f(x∗)=− (2√x x∗−x)+⋯+f n(ξ)n!(x∗−x)n+R n(x))∴|e(f(x))|≤ ε(f(x))≤|2√x |ε(x)+⋯+|f n(ξ)n!εn(x)|+|R n(x)|忽略二阶以上无穷小,可得f(x)的误差限公式为ε(f(x))≈2√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-3章

数值分析第五版1-3章


* r

1 2a1
10(n1)
反之,若x*的相对误差限
* r

1 2(a1 1)10(n1) Nhomakorabea则x*至少具有n位有效数字.
2020/2/10
6 第1章 数值分析与科学计算引论
研究对象 作用特点
数值计算 误差
误差分析 避免危害
数值计算 算法设计
数学软件
3 数值运算的误差估计
1. x1*与x2*为两近似数, 误差限为 ( x1* ), ( x2* ), 则 : ( x1* x2* ) ( x1* ) ( x2* ); ( x1* x2* ) x2* ( x1* ) x1* ( x2* );
3.多元函数误差限(多元函数Taylor展式) A f (x1,L , xn )
( A*)

n k 1
f ( xk
)*
(xk* ),
2020/2/10
r ( A*)
n k 1
( f )* xk
(xk* )
A*
7 第1章 数值分析与科学计算引论
研究对象 作用特点
数值计算 误差
误差分析 避免危害
数值计算 算法设计
数学软件
1.3 误差定性分析及避免误差危害
概率分析法 向后误差分析法 区间分析法
1. 病态问题与条件数 病态问题 输入(微小的扰动)
输出(相对误差很大)
条件数 C p
对于f (x), x有微小的扰动x x x*
er* ( f (x* ))
第1章 数值分析与科学计算引论
数值分析研究对象、作用与特点 数值计算的误差 误差定性分析与避免误差危害 数值计算中算法设计的技术 数学软件

数值分析第一章


(3) 有好的计算复杂性:
节省时间(时间复杂性)和计算机存储空间 (空间复杂性)
(4) 要有数值实验。
通过数值实验证明是有效的.
研究的内容 1 非线性方程与方程组的数值方法;(第2、5章)
2 线性方程组的数值方法;(第3、4章)
3 插值与数值逼近;(第6、7章) 4 数值积分与数值微分;(第8章) 5 微分方程的数值解法. (第9章) 6 特征值与特征向量的计算. (第10章)
f ( x ) tan( x ) 1 2 f ( x ) 1 tan ( x) 2 cos ( x ) x * f ( x*) 1 Cp x* tan( x*) f ( x*) tan( x*)
1 | x x | 10m n , 2

称 x 有n位有效数字.

例:按四舍五入原则将下列各数保留到5位有 效数字:187.9325, 0.03785551, 8.000033. 解:
187.9325 187.93 0.03785551 0.037856 8.000033 8.0000
1 10 ( n1) 2(a1 1)
(a1 1) 10
1 10m n 2

m 1
所以 x 至少具有n位有效数字.
定理1说明有效数字越多,相对误差限越小. 例 要使 20 的近似值的相对误差限小于0.1% 要取几位有效数字? 解 假设取n位有效数字,由定理1可知
从而 即
x 0.5 x x 0.5,
70 0.5 x 70 0.5, x [69.5,70.5].



设某量的准确值为x, x 是x的近似值, 定义: * er 为 x 的相对误差,若 e 为 x 的绝对误差,

第一章数值分析

x* 0.a1a2 an 10m (a1 0)有n位
有效数字
r
1 10n1 2(a1 1)

e x x* er x x
x* 0.a1a2 an 10m (a1 0)有n位
1 10n1 2a1
绝对误差(限)
相对误差(限)
e
er r ,
16
4 有效数字与绝对误差、相对误差的关系:
(1)若某数x的近似值x*有n位有效数字,则
数值分析
主讲数值分析课题组 Chenning
1
数值分析课程简介
数值分析
数值分析主要包括计算方法和数值方法两 部分。它是研究科学与工程技术中数学问题的 数值解及其理论的一个重要的数学分支,它主 要涉及到代数、微积分、微分方程的数值解等 问题。
数值分析及计算的主要任务,就是研究适合
于在计算机上使用的的数值计算方法及与此相
第八章 非线性方程的数值解法
第九章 常微分方程的数值解法
3
数值分析
第一章 数值计算中的误差分析
本章的主要内容有:
(一) 误差的来源; (二) 绝对误差、相对误差和有效数值; (三) 数值计算中误差的传播; (四) 数值计算中应注意的问题。
4
第一节 误差与数值计算 的误差估计
第二节 选用和设计算法 适应遵循的原则
3.14 3.14 0.0016 1 102.
2 ( 3.1416 3.14 0.0016) 3.142 3.142 0.00041 1 103
2 ( 3.14241 3.142 0.00041)
10
例:问3.142,3.141,22/7分别作为 的近似值各具有几位有效数字?
数值分析
5
误差与数值计算误差估计 一 误差的来源与分类 二 误差与有效数字

数值分析原理课件第一章

第一章 绪 论本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题.§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 双精度浮点运算结果代替),该算法可靠可用吗?。

数值分析第一章


x1系数 a3 3 b2 x* 10 b3 7 c2 x* 42 c3 49 p(2)
常数项 a4 4 b3 x* 14 b4 10
1.4
数值计算中算法设计的技术
迭代法与开方求值 以直代曲与化整为“零” 加权平均的松弛技术
2
ε x 的相对误差上限 /* relative accuracy */ 定义为 ε * |x |
* r
1.2 数值计算的误差
有效数字 /* significant digits */
* m 用科学计数法,记 x 0.a1a2 an 10(其中 a1 0 )。若 | x x* | 0.5 10mn(即 a n 的截取按四舍五入规则),则称 x * 为有n 位有效数字,精确到 10m n 。 897932 ; * 3.1415 例 3.1415926535
对一个数值问题本身, 如果输入数据有微小扰动(即误 差),引起输出数据(即问题解)相对误差很大,这就是病
态问题.
例如计算函数值 f ( x)x*)的相对误差为 x
f ( x) f ( x*) f ( x)
1.3 避免误差危害的若干原则
ε* 0 .5 10m n 10 n εr * m x* 0 .a1a 2 an 10 2 0 .a1 1 10 n1 2a1
1.2 数值计算的误差
相对误差限 有效数字
已知 x* 的相对误差限可写为 εr *
10 n 1 则 | x x* | εr * | x* | 0 .a1a 2 10m 2(a1 1)
算法设计的好坏不但影响计算结果的精度,还可以
大量节省计算时间.
多项式求值的秦九韶算法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档