第一章数值计算方法与误差分析分析

合集下载

计算方法(1)-数值计算中的误差

计算方法(1)-数值计算中的误差

* r
(
x)
1)乘方运算结果的相对误差增大为原值 x的p倍,降低精度.
2)开方运算结果的相对误差缩小为原值
x的1/q倍,精度得到提高.
三.算例的误差分析
x
3
2 2

1 1

24
§6 算法的数值稳定性
一.算法稳定性的概念
凡一种算法的计算结果受舍入误差的影 响小者称它为数值稳定的算法.
例4 解方程 x2 (109 1)x 109 0
方程精确解: x1 10 9 , x2 1
利用求根公式
x1,2


b

b2 4ac 2a
x1 10 9 , x2 0
25

当多个数在计算机中相加时,最好从
绝对值最小的数到绝对值最大的数依次相
加,可使和的误差减小.
二.算法的改进
2 2

1 1

3
计算结 果
2 7/5
2 17 /12
1 ( 2 1)6

2 6

0.0040960

5
6


0.00523278
5
12
2 99 70 2
1
1 0.16666667
6
3
6
1



5
6
0.00523278
12 6
计算方法
1
第一章 数值计算中的误差
§1 引言 §2 误差的种类及其来源 §3 绝对误差和相对误差 §4 有效数字及其与误差的关系 §5 误差的传播与估计 §6 算法的数值稳定性

第一章数值计算方法与误差分析

第一章数值计算方法与误差分析
数值计算方法:研究怎样利用计算
工具求出数学问题的数值解,并对算 法的收敛性、稳定性和误差进行分析 计算的全过程。
构建一个完整的数值算法,包含着以下环节: 1. 提出数值问题(即对对象建立数学模型) 2 .构思处理数值问题的基本思想(即提出理论) 3 .列出计算公式 4 .设计程序框图
5 .编制源程序并调试
I0=
∫01
ex-1dx=
ex-1|
1 0
=
1-e-1
≈0.6321
In= 1– nIn-1 (n=1, 2, … , 9)
用四位小数计算依次得到:
0.6321, 0.3679, 0.2642, 0.2074, 0.1704
0.1480, 0.1120, 0.2160, -0.7280, 7.5520
• 定义3 若近似值x*的绝对误差限是 某一位上的半个单位,该位到x*的第一 位非零数字一共有n位,则称近似值x*有 n位有效数字,或说x*精确到该位。
• 准确数本身有无穷多位有效数字, 即从第一位非零数字以后的所有数字都 是有效数字。
有效数字举例
• 如例1中的x*1,x*2 ,x*3,分别有1,3,5位有效数字。 • 实际上,用四舍五入法取准确值x 的前n位(不
• 为了既能表示近似数的大小,又能 表示近似数的精确程度,我们下面介绍 有效数字的概念(注意:有效数字既能 表示近似数的大小,又能表示近似数的 精确程度)。
半个单位的概念

我们知道,当x有很多位数字时,常常按照
“四舍五入”原则取前几位数字作为x的近似值x*。
• 例1 设 x = π = 3.1415926 …
一元二次方程 X2+2pX +q=0的求解方法
根据根与系数的关系可知

数值分析(01) 数值计算与误差分析

数值分析(01) 数值计算与误差分析

克莱姆算法步骤
1. 2.
D for 2.1. 2.2.
( j1 jn )
t ( 1 ) a1 j1 a 2 j2 a nj n
i 1 n Di
( i1 i n ) t ( 1 ) a i1 1 bi2 j a in n
Di xi D
N=[(n2-1)n!+n]flop
每周有课外练习,两周交一次作业, 一学期完成 3 个综合程序课题设计。 考试评分: 平时作业+程序占总成绩的30%,
期末考试占总成绩的70%,开卷考试。
Matlab_zm@ 密码 123456
数值分析
数值分析
第二节 数值问题与数值算法
求数学问题的数值解称为数值问题.
数值方法:适合在计算机上,按确定顺序依次进行计算 的计算公式,也就是通常所说的数值计算方法。 数值算法:从给定的已知量出发,经过有限次四则运算
有递推公式
注意
计算量 N n flop
Pn ( x) x( x( x( x(an x an1 ) an2 ) a1 ) a0
数值分析

sn an sk xsk 1 ak P n ( x) s0
k n 1,,2,1,0
数值分析
例3 矩阵乘积AB的计算量分析
第一节 数值分析的研究对象和特点
我们把在电子计算机上进行的科学工作称为科学计算。 科学研究的方法: 科学理论,科学实验,科学计算 科学计算的核心内容是以现代化的计算机及数学软件 为工具,以数学模型为基础进行模拟研究。
数值分析
数值分析
第一节 数值分析的研究对象和特点
科学计算的步骤:实际问题→数学模型→数值方法 →程序设计→上机计算→分析结果。 1、建立数学模型(实际问题数学化) 2、设计计算方案(数学问题数值化)

数值分析复习提纲 西安石油大学研究生

数值分析复习提纲 西安石油大学研究生

数值计算方法复习提纲第一章数值计算中的误差分析1.了解误差及其主要来源,误差估计;2.了解误差(绝对误差、相对误差)和有效数字的概念及其关系; 3.掌握算法及其稳定性,设计算法遵循的原则。

第二章线性方程组的数值解法1.了解Gauss消元法、主元消元法基本思想及算法;2.掌握矩阵的三角分解,并利用三角分解求解方程组;(Doolittle分解;Crout分解;Cholesky分解;追赶法)3.掌握迭代法的基本思想,Jacobi迭代法与Gauss-Seidel迭代法; 4.掌握向量与矩阵的范数及其性质,迭代法的收敛性及其判定。

第三章非线性方程的数值解法1.了解二分法的原理与算法;2.掌握一般迭代法的基本思想及其收敛性判定;3.掌握Newton切线法、弦截法,并用它们求方程近似根的方法。

第五章插值法1. 掌握代数插值问题及其解存在唯一性,Lagrange插值多项式构造及其余项,插值基函数性质;2. 掌握差商的概念及其性质,Newton插值多项式构造,两种插值法之间的区别与联系;3.了解差分与等距节点插值多项式公式;4. 掌握Hermite 插值问题及其构造方法。

第七章数值微积分1. 了解数值求积基本思想;2. 掌握Newton-Cotes公式(梯形公式,Simpson公式,Cotes公式)推导及误差;3. 了解Romberg 求积公式原理;4.了解数值微分的方法。

第八章常微分方程数值解1. 掌握Euler方法(Euler公式,梯形公式,Euler预估-校正公式),局部截断误差,公式的阶;2. 了解Runge-Kutta 方法的基本思想及四阶经典Runge-Kutta 公式;3. 掌握线性多步方法的原理与公式推导。

计算声学第一章数值计算中的误差分析

计算声学第一章数值计算中的误差分析

截断误差:
E n(x)s ixn P n(x)
§2 误差与数值计算的误差估计
绝对误差与绝对误差限
绝对误差:
设某一量的精确值为 x,其近似值为 x *,则称E(x*)xx*
为近似值 x * 的绝对误差,简称误差。 E(x*) 0时称 x * 为弱近似值或亏近似值; E(x*) 0时称 x * 为强近似值或盈近似值。
1000.0 1200.0 2000.0 3000.0 4000.0 1482.6 1482.4 1498.0 1516.6 1534.8
前言
深 度 (m)
声速剖面图 0
-500
-1000
-1500
-2000
-2500
-3000
-3500
-4000
-4500
-5000 1480
1490
1500
1510
提高应用计算机解决实际问题的能力。
数值计算的对象、任务与特点
数值计算流程:
实际问题
理论模型
数学问题
误差分析
上机计算
程序设计
算法设计
特点:
既具有数学的抽象性与严格性,又具有应用的广泛性与 实际实验的技术性,是一门与计算机紧密结合的实用性很强 的有着自身研究方法与理论体系的计算数学课程。
数值计算中的误差分析
例1.2 设
x* ,0其.0近3似30值55 x *
,问 有
几位有效数字?如果
, 有几位有效数字?
练习题
1.指出如下有效数的绝对误差限、相对误差限和有效数字 位数。
4 91 0 2, 0.04,9409 .000
2.将22/7作为的近似值,它有几位有效数字?绝对误差
限和相对误差限各为多少?

数值计算方法马东升等第 版习题解答

数值计算方法马东升等第 版习题解答

第1章 数值计算引论1.1 内容提要一、误差的来源数值计算主要研究以下两类误差。

1. 截断误差数学模型的准确解与用数值方法求得的解的差称为截断误差,又称为方法误差。

这种误差常常是由用有限过程代替无穷过程时产生的误差。

例如,要计算级数∑∞==+++++1!1!1!31!211k k n的值,当用计算机计算时,用前n 项(有限项)的和∑==+++++nk k n 1!1!1!31!211来代替无穷项之和,即舍弃了n 项后边的无穷多项,因而产生了截断误差∑∞+=1!1n k k2. 舍入误差由于计算机字长为有限位,原始数据和四则运算过程中进行舍入所产生的误差称为舍入误差。

例如,用3.141 59表示圆周率π时产生的误差0.000 002 6…,用0.333 33表示1÷3的运算结果时所产生的误差1÷3-0.333 33 = 0.000 003 3…都是舍入误差。

二.近似数的误差表示1. 绝对误差设x *是准值x 的一个近似值,称**)(x x x e -=为近似值x *的绝对误差,简称误差。

令|)(|*x e 的一个上界为*ε,即***|||)(|ε≤-=x x x e把*ε称为近似数*x 的绝对误差限,简称误差限。

2. 相对误差设*x 是精确值x 的一个近似值,称xx x xx e **)(-=为近似值x *的相对误差。

在实际应用中常取***)(xx x x e r -=为*x 的相对误差。

令相对误差绝对值 |)(|*x e r 的一个上界为ε*r,即 ****|||||)(|r r x x x x e ε≤-=把ε*r称为近似数*x 的相对误差限。

3. 有效数字对有多位数字的准确值四舍五入原则得到其前若干位的近似值时,该近似值的绝对误差不超过末位的半个单位。

设数x 的近似值m n x x x x 10.021*⨯±= ,其中,i x 是0~9之间的任一个数,但i x ≠0,n i ,2,1=是正整数,m 是整数,若nm x x -⨯≤-1021||*则称*x 为x 的具有n 位有效数字的近似值,*x 准确到第n 位,n x x x ,,,21 是*x 的有效数字。

第一章数值计算中的误差

第一章数值计算中的误差

用 x ± ε 表示一个近似值,这在实际计算中很不方便。当在实际运算中遇到的数的位数 很多时,如π , e 等,常常采用四舍五入的原则得到近似值,为此引进有效数字的概念。
定义 3:当近似值 x* 的误差限是其某一位上的半个单位时,我们就称其“准确”到这一位,
xn n!
&1+
x
+
x2 2!
+"+
xn n!
近似代替
ex
,这时的截断误差为
Rn
(x)
=
eξ (n +1)!
x n +1
,
ξ 介于 0 与 x 之间。
这种误差就是截断误差。
sin x = x − x3 + x5 − ...... , 用近似计算公式 sin x ≈ x - x3 + x5 截断误差估计
实际问题→数学模型→计算方法→程序设计→上机计算 由实际问题应用有关科学知识和数学理论建立数学模型这一过程,通常作为应用数学的 任务。而根据数学模型提出求解的计算方法直到编出程序上机算出结果,进而对计算结果进 行分析,这一过程则是计算数学的任务,也是数值计算方法的研究对象。 数值计算方法(也称数值分析或计算方法)是计算数学的一个主要部分,它是一门把数 学理论与计算机紧密结合起来进行研究的实用性很强的学科。它主要研究用计算机求解各种 数学问题的数值方法及其相关理论。
的绝对误差限为 0.0005
显然,误差限 ε(x)总是正数,且
ε (x) = x − x* ≤η
(1.3.3)

x * −η ≤ x ≤ x * +η
这个不等式,在应用上常常采用如下写法
x = x * ±η
(1.3.4) (1.3.5)

数值计算方法matlab 第一章 误差分析

数值计算方法matlab 第一章 误差分析

1 第一章作业1.对一个数求和100000次。

对数1以单精度方式求和,对数0.00001分别以单精度和双精度方式求和。

问题分析:单精度方式使用函数single(),双精度求和为matlab自动调整,不需要特别说明。

程序编写如下:运行结果:实验结果分析:不难看出,对于1进行单精度求和得到的结果和期望值一致,但是对0.00001进行单精度求和的结果却存在误差,对0.00001进行双进度求和,误差得到减小。

这是由于量化误差造成的,0.00001在计算机中并不能准确表示,只能对其进行量化处理,得到一个和真值有一点区别的量化值,小量计算中可以忽略,但在计算了100000后误差积累,导致了最后的结果误差较大。

双精度的情况下,该误差小得多。

当x=0.1时,从1x -开始,然后每次加入一项来分别计算。

在每加入一个新项后,计算近似百分比相对误差,直到近似误差估计值的绝对值小于与五位有效数字一致的误差准则时停止计算。

问题分析:本例中,要保证5位有效数字,因此容限误差为:256s (0.510)%510--ε=⨯=⨯近似百分比误差为: -100%a ε=⨯当前近似值前一近似值当前近似值真误差为:-100%ε=⨯真值近似值真值跳出循环的标准为:a |s |ε<ε程序编写如下:运行结果如下:3实验结果分析:实验结果表明,当计算到第6次时,近似误差就已经小于了容限值,循环结束。

随着添加多的项数,实际误差和近似误差都减小了,说明了计算精度在逐步提高。

我们可以通过改的值来调节所需要的计算精度。

变s。

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

控制误差传播的例子
例10 计算积分 In=∫01 xn ex-1dx,n=0,1, 2, … , 9 利用分部积分法,可得 In= xn ex-1| 01 –∫01 ex-1dxn
=1– n∫01 xn-1 ex-1dx =1– nIn-1
从而有递推公式
I0= ∫01 ex-1dx= ex-1 | 01 = 1-e-1 ≈0.6321 In= 1– nIn-1 (n=0, 1, 2, … , 9)
所谓算法,是指对一些数据按某种规定的顺序 进行的运算序列。在实际计算中,对于同一问题我 们选用不同的算法, 所得结果的精度往往大不相同。 这是因为初始数据的误差或计算中的舍入误差在计 算过程中的传播,因算法不同而异,于是就产生了 算法的数值稳定性问题。一个算法, 如果计算结果 受误差的影响小,就称这个算法具有较好的数值稳 定性。否则,就称这个算法的数值稳定性不好。
简化计算步骤、减少运算次数、避免误差积累的例子
又如计算
1/(1*2)+1/(2*3)+…+1/(1000*1001)
的值。 若一项一项进行计算,不仅计算次数多,而 且误差积累也很大。若简化成 1-1/1001 进行计 算,则整个计算只要一次求倒数和一次减法。
(四)要避免绝对值小的数作除数
由式 ε(x1/x2)≈d(x1/x2)≈[x2ε(x1)-x1ε(x2)]/ x22 , (x2≠0) 可知,当除数x2接近于零时,商的绝对误差就可能很大。因此 , 在数值计算中要尽量避免绝对值小的数作除数, 避免的方法是把 算式变形或改变计算顺序。 例8 当x接近于0时 (1-cosx)/sinx 的分子、分母都接近0,为避免绝对值小的数作除数,可将原式 化为 (1-cosx)/sinx=sinx/(1+cosx) 例9 当x 很大时,可化 x/[(x+1)0.5-x0.5]=x[(x+1)0.5 + x0.5]
0.4900 0.484 1 1 0.012397 0.0125 10 1 10 ( 21) 0.484 2 4 2 4
数值运算中误差的影响
要分析数值运算中误差的传播,首先就要估 计数值运算中的误差。数值运算的误差估计情况 较复杂, 通常利用微分来估计误差。
二元函数 设数学问题的解y与变量x1 , x2有关, y=f(x1,x2)。若 x1,x2的近似值为x1*, x2*,相应解为y*,则当数据误差较 小时解的绝对误差 ε(y)=y-y*=f(x1,x2 )-f(x1*,x2* )
取x1*=3作为π的近似值,则|ε1(x)|=0.1415 … ≤0.5×100;
取x2*=3.14,则|ε2(x)|=0.00159 … ≤0.5×10-2;
取x3*=3.1416, 则|ε3(x)|=0.0000074 … ≤0.5×10-4 。
它们的误差都不超过末位数字的半个单位。
有效数字的概念
例4 对于绝对值小的 x,可利用泰勒级数
ex–1= x+x2/2+x3/6+…
取前n项来计算。
(二)要防止大数“吃掉“小数,注意保护重要数据 在数值运算中,参加运算的数有时数量级相差很大,而计算 机位数有限,如不注意运算次序就可能出现大数“吃掉”小数的 现 象,影响计算结果的可靠性。 例5 在五位浮点十进制计算机上,计算 y=54321+0.4+0.3+0.4 如果按从左到右的顺序进行加法运算,后三个数都在对阶过 程中被当作零,得出含有较大绝对误差的结果y=54321。要避免 这种大数“吃掉”小数的现象,可以调整计算顺序,采用先小数 后 大数的计算次序,即先将0.4,0.3,0.4加起来,然后再加上54321, 结果等于54322。 一般情况下,若干数相加,采用绝对值较小者先加的算法,
计算积分In=∫01 xn ex-1dx的过程
如果直接应用递推公式
I0= ∫01 ex-1dx= ex-1| 01 = 1-e-1 ≈0.6321 In= 1– nIn-1 (n=1, 2, … , 9)
用四位小数计算依次得到: 0.6321, 0.3679, 0.2642, 0.2074, 0.1704 0.1480, 0.1120, 0.2160, -0.7280, 7.5520 由此看到I8为负值、 I9 >1,显然与一切0<In<1 (由于 e-1/(n+1)= min(ex-1)∫01xndx<In (0≤x≤1) <max (ex-1)∫01xndx=1/(n+1) ) 矛盾。事实上,从I7开始已经连一位有效数字也没有了 ( I7<1/8=0.125,而上面算得I7 = 0.2160)。是什么原因 造成这种结果呢?
,
二、设计算法的若干原则
为防止误差使计算结果失真(失常)现 象发生,要选用数值稳定的计算公式,以 保证算法的数值稳定性。下面我们给出设 计算法的若干原则,并给出改善算法的例 子,这些原则有助于鉴别算法的可靠性并 防止误差危害的现象产生。
(一)要避免相近两数相减
下面再举几个例说明改善算法的方法。 例2 x充分大时 1/x – 1/(x+1)=1/[x(x+1)] (1+x)1/2 – x1/2=1/[(1+x) 1/2+x1/2] 例3 对于小的正数ε sin(x+ε) – sinx=2cos(x+ε/2)sin(ε/2) (注: sin(x) – sin(y)=2 cos [(x+y)/2] sin [(x-y)/2] )
有效数字
• 为了既能表示近似数的大小,又能 表示近似数的精确程度,我们下面介绍 有效数字的概念(注意:有效数字既能 表示近似数的大小知道,当x有很多位数字时,常常按照 “四舍五入”原则取前几位数字作为x的近似值x*。 例1 设 x = π = 3.1415926 …
• 定义3 若近似值x*的绝对误差限是 某一位上的半个单位,该位到 x* 的第一 位非零数字一共有n位,则称近似值x*有 n位有效数字,或说x*精确到该位。 • 准确数本身有无穷多位有效数字, 即从第一位非零数字以后的所有数字都 是有效数字。
有效数字举例
• 如例1中的x*1,x*2 ,x*3,分别有1,3,5位有效数字。 • 实际上,用四舍五入法取准确值x 的前n位(不 包括第一位非零数字前面的零)作为它的近似 值x*时,x*有n位有效数字。 • 例2 设 x = 4.26972,则按四舍五入法,取2位, x1*=4.3有效数字为2位,取3位,x2*=4.27,有效数 字为3位,取4位,x3*=4.270,有效数字为4位。
特别注意
近似值后面的零不能随便省去, 如 例2中4.27和4.270,前者精确到4.27,有效 数字为3位,取4位,x3*=4.270,有效数字 为4位。可见,它们的近似程度完全不同, 与准确值的最大误差也完全不同。
有效数字和绝对误差的关系
定义3换一种说法就是:设x的近似值 x*= ±0.a1a2… an … ×10p 若其绝对误差 |ε(x)|=|x-x*| ≤0.5 ×10p-n 则称近似数x*具有n 位有效数字。这里p为整数,a1 , a2 , … , an 是0 到9中的一个数字且a1≠0 。 例如,若x*=0.23156×10-2是x 的具有五位有效数字的近似 值,则绝对误差是 |x-x*| ≤0.5 ×10-2-5 = 0.5 ×10-7 定义3或式 |ε(x)|=|x-x*| ≤0.5 ×10p-n 建立了绝对误差(限)和有效数字之间的关系。由于n 越大,10p-n 的值越小,所以有效数字位越多,则绝对误差(限)越小。
有效数字与相对误差关系举例
注意从
|εr(x)| ≤1/(2×a1) ×10-(n-1)
并不能保证x*一定具有n位有效数字。 如 x=sin29020´=0.4900 设其近似值 x*=0.484 , 其相对误差为
我们不能由此推出x*有两位有效数字,这是因为 x-x*=0.4900-0.484=0.0060>0.005 即可知近似值x*并不具有两位有效数字。 实际上, x*只有一位有效数字。
一元二次方程 X2+2pX +q=0的求解方法
根据根与系数的关系可知 x1x2=q=1 所以 x2=1/x1 因此,如果仍用上述方法算出x1,然后用 x2=1/x1 计算x2,可得 x1=100000.00,x2=0.00001000 该结果是非常好的。这就说明这种算法有较好的数值稳 定性。 一般说来,当|p|>>|q|时,用公式x1= –p–sign(p)•(p2–q)0.5 x2=q/x1来求解方程 X2+2pX+q=0 是数值稳定的。 从而可知,算法数值稳定性的讨论甚为重要。
6 .做出算法的误差分析
从工程实际中抽象出来的数学问题往往很复杂,典型的有: 1、数据点的插值 2 、曲线拟和 3、复杂函数的微积分运算
4、非线性方程f(x)=0的根的求解
5、当n很大时线性方程组AX=B的求解 6、常微分方程的求解
min
xX
f ( x)
参考书籍的几种名称: 1、数值分析 2、数值计算原理 3、计算方法 4、算法设计 5、计算机数值计算方法与程序设计
数值计算方法:研究怎样利用计算 工具求出数学问题的数值解,并对算 法的收敛性、稳定性和误差进行分析 计算的全过程。
构建一个完整的数值算法,包含着以下环节: 1. 提出数值问题(即对对象建立数学模型)
2 .构思处理数值问题的基本思想(即提出理论) 3 .列出计算公式 4 .设计程序框图
5 .编制源程序并调试
数值计算中的误差
1、误差的种类和来源
① 模型误差
② 观测误差
③ 截断误差
④ 舍入误差
2、误差的有关概念:
① 绝对误差:
真 值
近似值
( x) x x
相关文档
最新文档