数值计算方法与误差分析_第1页
数值计算方法与误差分析_第2页
数值计算方法与误差分析_第3页
数值计算方法与误差分析_第4页
数值计算方法与误差分析_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数值计算方法与误差分析

本章介绍的内容

ⅰ)数值计算方法的含义及其特点;

ⅱ)误差的来源;

ⅲ)误差的有关概念(绝对误差、相对误差、有效数字);

ⅳ)误差的传播过程;

ⅴ)算法的数值稳定性概念;

ⅵ)选用数值算法的若干原则。第2页,共40页,星期六,2024年,5月第一节数值计算方法研究的对象、内容及特点

数值计算方法是应用数学的一个分支,又称数值分析或计算方法,它是研究用计算机求解各种数学问题的数值方法及其理论的一门学科,是程序设计和对数值结果进行分析的依据和基础。我们知道,用计算机解决科学计算问题需要经过以下几个过程:提出具体问题,建立数学模型,选用数值计算方法,程序设计、上机调试直至得出最终数值结果。可见,选用数值计算方法是应用计算机进行科学计算全过程的一个重要环节。

第3页,共40页,星期六,2024年,5月数值计算方法特点(1)面向计算机。根据计算机特点提供实际可行的有效算法。即算法只能包括加、减、乘、除和逻辑运算,是计算机所能直接处理的。(2)有可靠的理论分析。能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析。有相应的数学理论做基础。(3)有好的计算复杂性(包括空间复杂度和时间复杂度)。算法需占用的存储空间要小,运算次数要少。这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。第4页,共40页,星期六,2024年,5月第5页,共40页,星期六,2024年,5月第二节误差

用计算机解决科学计算问题通常经历以下过程:

据此误差的来源主要有以下四类。

实际问题数学模型数值计算方法程序设计上机计算结果第6页,共40页,星期六,2024年,5月

(一)建模误差

在将实际问题转化为数学模型的过程中,为了使数学模型尽量简单,以便于分析或计算,往往要忽略一些次要的因素,进行合理的简化。这样,实际问题与数学模型之间就产生了误差,这种误差称为模型误差。由于这类误差难于作定量分析,所以在计算方法中,总是假定所研究的数学模型是合理的,对模型误差不作深入的讨论。第7页,共40页,星期六,2024年,5月(二)观测误差

在数学模型中,一般都含有从观测(或实验)得到的数据,如温度、时间、速度、距离、电流、电压等等。但由于仪器本身的精度有限或某些偶然的客观因素,会引入一定的误差,这类误差叫做观测误差。通常根据测量工具或仪器本身的精度,可以知道这类误差的上限值,所以无需在数值分析中作过多的研究。

第8页,共40页,星期六,2024年,5月

当数学模型得不到精确解时,要用数值计算方法求它的近似解,由此产生的误差称为截断误差或方法误差。譬如在数值计算中,常用收敛的无穷级数的前几项来代替无穷级数进行计算,即抛弃了无穷级数的后段,这样就产生了截断误差。(三)截断误差(方法误差)

第9页,共40页,星期六,2024年,5月(四)舍入误差

由于计算机字长有限,原始数据的输入及浮点运算过程中都可能产生误差。而事实上,无论用电子计算器计算还是笔算,都只能用有限位小数来代替无穷小数或用位数较少的小数来代替位数较多的有限小数,这样产生的误差叫做舍入误差。在数值计算中,往往要进行成千上万次四则运算,因而就会有成千上万个舍入误差产生,这些误差一经叠加或传递,对精度可能有较大的影响。所以,作数值计算时,对舍入误差应予以足够的重视。

第10页,共40页,星期六,2024年,5月小结

上述四类误差都会影响计算结果的准确性,但模型误差和观测误差往往需要会同各有关学科的科学工作者共同研究,因此在计算方法课程中,主要研究截断误差和舍入误差(包括初始数据的误差)对计算结果的影响。第11页,共40页,星期六,2024年,5月一、绝对误差和绝对误差限

定义1假设某一量的准确值为x,近似值为x*,则x与x*之差叫做近似值x*的绝对误差(简称误差),记为ε(x),即

ε(x)=x-x*|ε(x)︱的大小标志着x*的精确度。一般地,在同一量的不同近似值中,︱ε(x)︱越小,x*的精确度越高。当︱ε(x)︱较小时,由微分和增量的关系知x*的绝对误差ε(x)≈dx,故我们可以利用微分估计误差。

第12页,共40页,星期六,2024年,5月绝对误差限的概念

由于准确值x一般不能得到,于是误差的准确值也无法求得,但在实际测量计算时,可根据具体情况估计出它的大小范围。也就是指定一个适当小的正数ξ,使

|ε(x)|=|x-x*|≤ξ我们称ξ为近似值x*的绝对误差限。有时也用

x=x*±ξ表示近似值的精度或准确值的所在范围。在实际问题中,绝对误差一般是有量纲的。例如,测得某一物体的长度为5m,其误差限为0.01m,通常将准确长度ѕ记为

ѕ=5±0.01即准确值在5m左右,其误差限为0.01m的误差限。

第13页,共40页,星期六,2024年,5月相对误差的概念

定义2我们把绝对误差与准确值之比

εr(x)=ε

(x)/x=(x-x*)/x,x≠0称为x*的相对误差。由于准确值x往往是不知道的,因此在实际问题中,当|εr(x)|较小时,常取

εr(x)=ε

(x)/x*

一般地,在同一量或不同量的几个近似值中,|εr(x)|小者精确度高。第14页,共40页,星期六,2024年,5月相对误差限的概念

在实际计算中,由于ε(x)与x都不能准确地求得,因此相对误差εr(x)也不可能准确地得到,我们只能估计它的大小范围。即指定一个适当小的正数η,使

|εr(x)|=|ε(x)|/|x*|≤η称η为近似值x*的相对误差限。当|εr(x)|较小时,可以用下式来计算η:

η=ξ/|x*|第15页,共40页,星期六,2024年,5月三、有效数字

为了既能表示近似数的大小,又能表示近似数的精确程度,我们下面介绍有效数字的概念(注意:有效数字既能表示近似数的大小,又能表示近似数的精确程度)。第16页,共40页,星期六,2024年,5月半个单位的概念

为了理解有效数字的概念,首先要弄清什么是半个单位。我们知道,当x有很多位数字时,常常按照“四舍五入”原则取前几位数字作为x的近似值x*。例1设x=π=3.1415926…取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。它们的误差都不超过末位数字的半个单位。

第17页,共40页,星期六,2024年,5月

有效数字的概念

定义3若近似值x*的绝对误差限是某一位上的半个单位,该位到x*的第一位非零数字一共有n位,则称近似值x*有n位有效数字,或说x*精确到该位。准确数本身有无穷多位有效数字,即从第一位非零数字以后的所有数字都是有效数字。

第18页,共40页,星期六,2024年,5月

有效数字举例

如例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位。

第19页,共40页,星期六,2024年,5月特别注意

近似值后面的零不能随便省去,如例2中4.27和4.270,前者精确到4.27,有效数字为3位,取4位,x3*=4.270,有效数字为4位。可见,它们的近似程度完全不同,

与准确值的最大误差也完全不同。

第20页,共40页,星期六,2024年,5月有效数字和绝对误差的关系

定义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的值越小,所以有效数字位越多,则绝对误差(限)越小。

第21页,共40页,星期六,2024年,5月有效数字与相对误差的关系

定理1若近似数x*具有n位有效数字,则其相对误差为

|εr(x)|≤1/(2×a1)×10-(n-1)其中a1≠0是x*的第一位有效数字。

定理1说明有效数字位越多,相对误差(限)越小。定理2形式如x*=±0.a1a2…an…

×10p的近似数x*,若其相对误差满足

|εr(x)|≤1/[2×(a1+1)]×10-(n-1)则x*至少有n位有效数字。由此可知,有效数字位数可刻画近似数的精确度,相对误差(限)与有效数字的位数有关。

第22页,共40页,星期六,2024年,5月有效数字与相对误差关系举例

注意从并不能保证x*一定具有n位有效数字。如x=sin29020´=0.4900

设其近似值x*=0.484,其相对误差为我们不能由此推出x*有两位有效数字,这是因为

x-x*=0.4900-0.484=0.0060>0.005即可知近似值x*并不具有两位有效数字。实际上,x*只有一位有效数字。|εr(x)|≤1/(2×a1)×10-(n-1)第23页,共40页,星期六,2024年,5月数值运算中误差的影响

要分析数值运算中误差的传播,首先就要估计数值运算中的误差。数值运算的误差估计情况较复杂,

通常利用微分来估计误差。第24页,共40页,星期六,2024年,5月

二元函数设数学问题的解y与变量x1,

x2有关,

y=f(x1,x2)。若x1,x2的近似值为x1*,x2*,相应解为y*,则当数据误差较小时解的绝对误差

ε(y)=y-y*=f(x1,x2)-f(x1*,x2*)

≈dy=∂f(x1,x2)/∂x1*ε(x1)+∂f(x1,x2)/∂x2*ε(x2)解的相对误差

εr(y)≈dy/y=Σ∂f(x1,x2)/∂xi*xi/

f(x1,x2)*εr(xi)(i=1,2)

利用这两式可得到两数和、差、积、商的误差估计。第25页,共40页,星期六,2024年,5月一、算法的数值稳定性概念

所谓算法,是指对一些数据按某种规定的顺序进行的运算序列。在实际计算中,对于同一问题我们选用不同的算法,所得结果的精度往往大不相同。这是因为初始数据的误差或计算中的舍入误差在计算过程中的传播,因算法不同而异,于是就产生了算法的数值稳定性问题。一个算法,如果计算结果受误差的影响小,就称这个算法具有较好的数值稳定性。否则,就称这个算法的数值稳定性不好。第26页,共40页,星期六,2024年,5月

算法的数值稳定性概念举例

例1一元二次方程

X2+2pX+q=0的两个根分别是:

x1=–p+(p2–q)0.5,x2=–p–(p2–q)0.5

当p=–0.5×105,q=1时,方程的两个根取11位有效数字为:

x1=99999.999990,x2=0.000010000000001

在高精度的计算机(进制β=10,字长t=8,浮点阶码下限L=–50,浮点阶码上限U=50)上直接用上述公式计算的结果为:

x1=100000.00,x2=0

可见,结果x1很好,而x2很不理想,这说明直接用上述公式计算第二个根是不稳定的,其原因在于在计算x2时造成相近两数相减,从而使有效数字严重损失。请看下面的求解方法。第27页,共40页,星期六,2024年,5月

一元二次方程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是数值稳定的。从而可知,算法数值稳定性的讨论甚为重要。第28页,共40页,星期六,2024年,5月二、设计算法的若干原则

为防止误差使计算结果失真(失常)现象发生,要选用数值稳定的计算公式,以保证算法的数值稳定性。下面我们给出设计算法的若干原则,并给出改善算法的例子,这些原则有助于鉴别算法的可靠性并防止误差危害的现象产生。

第29页,共40页,星期六,2024年,5月(一)要避免相近两数相减

下面再举几个例说明改善算法的方法。例2x充分大时

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)=2cos[(x+y)/2]sin[(x-y)/2])

例4对于绝对值小的x,可利用泰勒级数

ex–1=x+x2/2+x3/6+…取前n项来计算。第30页,共40页,星期六,2024年,5月(二)要防止大数“吃掉“小数,注意保护重要数据

在数值运算中,参加运算的数有时数量级相差很大,而计算机位数有限,如不注意运算次序就可能出现大数“吃掉”小数的现象,影响计算结果的可靠性。

例5

在五位浮点十进制计算机上,计算

y=54321+0.4+0.3+0.4

如果按从左到右的顺序进行加法运算,后三个数都在对阶过程中被当作零,得出含有较大绝对误差的结果y=54321。要避免这种大数“吃掉”小数的现象,可以调整计算顺序,采用先小数后大数的计算次序,即先将0.4,0.3,0.4加起来,然后再加上54321,结果等于54322。一般情况下,若干数相加,采用绝对值较小者先加的算法,结果的相对误差限较小。第31页,共40页,星期六,2024年,5月(三)注意简化计算步骤、减少运算次数、避免误差积累

同一个计算问题,如果能减少运算次数,不但可以提高计算速度,而且能减少误差的积累。第32页,共40页,星期六,2024年,5月简化计算步骤、减少运算次数、避免误差积累的例子

例6计算多项式

P4(x)=0.0625x4+0.425x3+1.215x2+1.912x+2.1296的值。如果先计算各项然后相加,需做十次乘法和四次加法。如改用下式计算

(((0.0625x+0.425)x+1.215)x+1.912)x+2.1296则只需做四次乘法和四次加法。

第33页,共40页,星期六,2024年,5月简化计算步骤、减少运算次数、避免误差积累的例子

又如计算

1/(1*2)+1/(2*3)+…+1/(1000*1001)

的值。若一项一项进行计算,不仅计算次数多,而且误差积累也很大。若简化成1-1/1001进行计算,则整个计算只要一次求倒数和一次减法。第34页,共40页,星期六,2024年,5月(四)要避免绝对值小的数作除数

由式

ε(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]

第35页,共40页,星期六,2024年,5月控制误差传播的例子

例10计算积分

In=∫01xnex-1dx,n=0,1,2,…,9利用分部积分法,可得

In=

xnex-1|01–∫01ex-1dxn

=1–n∫01xn-1ex-1dx

=1–nIn-1从而有递推公式

I0=∫01ex-1dx=ex-1|01=

1-e-1≈0.6321In=1–nIn-1(n=0,1,2,…,9)

第36页,共40页,星期六,2024年,5月计算积分In=∫01xnex-1dx的过程

如果直接应用递推公式

I0=∫01ex-1dx=ex-1|01=

1-e-1≈0.6321In=1–nIn-1(n=1,2,…,

9)用四位小数计算依次得到:

0.6321,0.3679,0.2642,0.2074,0.17040.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)。是什么原因造成这种结果呢?第37页,共40页,星期六,2024年,5月计算积分In=∫01xnex-1dx的误差分析

根据

I0=∫01ex-1dx=ex-1|01=

1-e-1≈0.6321In=1–nIn-1(n=1,2,…,

9)计算In,假定I0与准确值的误差为ε(I0)。容易看出误差传递规律是:ε(In)=–nε(In-1)=…=(-1)nn!ε(I0)

(如:I4=1-4I3=1-4(1-3I2)=1-4(1-3(1-2I1))=1-4(1-3(1-2(1-I0))=1-4+12-24+4!I0)这说明由初始值I0的舍入而产生的误差在计算过程中绝对值会迅速扩大。若

|ε(I0)|=5

×10-5则|ε(I9)|=9!×5×10-5>15|εr(I9)|=|ε(I9)|/I9>1500%(0<I9<1)

这样求得的结果是完全不可靠的,因此这个算法是不稳定的。第38页,共40页,星期六,2024年,5月计算积分In=∫01xnex-1dx的改进方法

根据In=1–nIn-1可知

In-1=(1–In)/n

再由e-1/10<I9<1/10取I9≈

(e-1/10+1/10)/2=0.0684按I9≈

(e-1/10+1/10)/2=0.0684In-1=(1–In)/n(n=9,8,7,…,1)计算,保留四位小数依次得I9,

I8,

I7,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论