数值计算方法第一章.docx

上传人:b****3 文档编号:27514829 上传时间:2023-07-02 格式:DOCX 页数:17 大小:166.86KB
下载 相关 举报
数值计算方法第一章.docx_第1页
第1页 / 共17页
数值计算方法第一章.docx_第2页
第2页 / 共17页
数值计算方法第一章.docx_第3页
第3页 / 共17页
数值计算方法第一章.docx_第4页
第4页 / 共17页
数值计算方法第一章.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

数值计算方法第一章.docx

《数值计算方法第一章.docx》由会员分享,可在线阅读,更多相关《数值计算方法第一章.docx(17页珍藏版)》请在冰豆网上搜索。

数值计算方法第一章.docx

数值计算方法第一章

第一章绪论

本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题.

§1*1引言

计算方法以科学与工程等领域所建立的数学模型为求解对象,U的是在有限的时间段内利用有限的计算工具计算出模型的有效解答。

由于科学与工程问题的多样性和复杂性,所建立的数学模型也是各种各样的、复杂的•复杂性表现在如下儿个方面:

求解系统的规模很大,多种因素之间的非线性耦合,海量的数据处理等等,这样就使得在其它课程中学到的分析求解方法因计算量庞大而不能得到计算结果,且更多的复杂数学模型没有分析求解方法.这门课程则是针对从各种各样的数学模型中抽象出或转化出的典型问题,介绍有效的串行求解算法,它们包括

(1)非线性方程的近似求解方法;

(2)线性代数方程组的求解方法;

(3)函数的插值近似和数据的拟合近似;

⑷积分和微分的近似计算方法;

(5)常微分方程初值问题的数值解法;

(6)优化问题的近似解法;等等

从如上内容可以看出,计算方法的显著特点之一是“近似”.之所以要进行近似计算,这与我们使用的工具、追求的LI标、以及参与计算的数据来源等因素有关.

计算机只能处理有限数据,只能区分、存储有限信息,而实数包含有无穷多个数据,这样,当把原始数据、中间数据、以及最终计算结果用机器数表示时就不可避免的引入了误差,称之为舍入误差.

我们需要在有限的时间段内得到运算结果,就需要将无穷的计算过程截断,从而产生截断误差.如e=l+;+寺+…的计算是无穷过程,当用

丄•乙•

®T+卜加…+2作为"的近似时,则需要进行有限过程的计算,但产生了截断误差

当用计算机计算5时,因为舍入误差的存在,我们也只能得到5的近似值也就是说最终用/近似0,该近似值既包含有舍入误差,也包含有截断误差.

当参与计算的原始数据是从仪器中观测得来时,也不可避免得有观测误差.

由于这些误差的大量存在,我们得到的只能是近似结果,进而对这些结果的“可靠性”进行分析就是必须的,它成为计算方法的第二个显著特点.可靠性分析包括原问题的适定性和算法的收敛性、稳定性.

所谓适定性问题是指解存在、惟一,且解对原始数据具有连续依赖性的问题.对于非适定问题的求解,通常需要作特殊的预处理,然后才能做数值计算.在这里,如无特殊说明,都是对适定的问题进行求解.

对于给定的算法,若有限步内得不到精确解,则需研究其收敛性.收敛性是研究当允许计算时间越来越长时,是否能够得到越来越可靠的结果,也就是研究截断误差是否能够趋于零.

对于给定的算法,稳定性分析是指随着计算过程的逐步向前推进,研究观测误差、舍入误差对计算结果的影响是否很大.

对于同一类模型问题的求解算法可能不止一种,常希望从中选出高效可靠的求解算法.如我国南宋时期著名的数学家秦九韶就提出求〃次多项式陽於+©"心+…+%+兔值的如下快速算法

t=an_k;s=sx+t伙=1,2,…

它通过“次乘法和h次加法就计算出了任意n次多项式的值.再如幕函数x64可以通过如下快速算法计算出其值

S=X;

s=ss;循环6次

如上算法仅用了6次乘法运算,就得到运算结果.

算法最终需要在计算机上运行相应程序,才能得到结果,这样就要关注算法的时间复杂度(汁算机运行程序所需时间的度量)、空间复杂度(程序、数据对存储空间需求的度量)和逻辑复杂度(关联程序的开发周期、可维护性以及可扩展性).事实上,每一种算法都有自己的局限性和优点,仅仅理论分析是很不够的,大量的实际计算也非常重要,结合理论分析以及相当的数值算例结果才有可能选择出适合自己关心问题的有效求解算法.也正因如此,只有理论分析结合实际计算才能真正把握准算法.

§1.2误差的度■与传播

一、误差的度量

误差的度量方式有绝对误差、相对误差和有效数字.

定义1・1用/作为量x的近似,则称为近似值F的绝对误差.由于量x的真值通常未知,所以绝对误差不能依据定义求得,但根据测量工具或计算情况,可以估计出绝对误差绝对值的一个较小上界即有

e(x")=x-x<£(1.1)

称正数g为近似值F的绝对误差限,简称误差.这样得到不等式

x"-s

工程中常用

X=X4±£表示近似值”的精度或真值X所在的范围.

误差是有量纲的,所以仅误差数值的大小不足以刻划近似的准确程度.如量

S=123±0.5c〃=1.23±0.005税=1230000±5000/劝(1.2)

为此,我们需要引入相对误差

定义1・2用ThO作为量x的近似,称为近似值F的相对误

X

差.当”是X的较好近似时,也可以用如下公式计算相对误差

er(x)=^^-(1.3)

X

显然,相对误差是一个无量纲量,它不随使用单位变化.如式(1.2)中的量$的近似,无论使用何种单位,它的相对误差都是同一个值.

同样地,因为量x的真值未知,我们需要引入近似值F的相对误差限

片X),它是相对误差绝对值的较小上界.结合式(1.1)和(1.3),F相对误差限可通过绝对误差限除以近似值的绝对值得到,即

为给出近似数的一种表示法,使之既能表示其大小,乂能体现其精确程度,需引入有效数字以及有效数的概念.

定义1・3设量x的近似值F有如下标准形式X=±10"xO.a{a^…aj・・a卩

=±仏X1O"T+&2X1O"L2+…+勺X1O"L"+…+竹X1O"LP)(1.5)

其中{%}红u{O,l,…,9}且绚HO,加为近似值的量级.如果使不等式

/-X<-xlOw_/,(1.6)

2

成立的最大整数为“,则称近似值T具有"位有效数字,它们分别是①、①、…和心.特别地,如果有n=p,即最后一位数字也是有效数字,则称/是有效数.

从定义可以看出,近似数是有效数的充分必要条件是末位数字所在位置的单位一半是绝对误差限.利用该定义也可以证明,对真值进行“四舍五入”得到的是有效数.对于有效数,有效数字的位数等于从第一位非零数字开始算起,该近似数具有的位数.注意,不能给有效数的末位之后随意添加零,否则就改变了它的精度.

例1・1设量兀十其近似值<=3.141,X;=3.142,坨=丰.试回答这三个近似值分别有儿位有效数字,它们是有效数吗?

解这三个近似值的量级m=\,因为有

x;-x=0.00059---<0.005=1x10-2=lxl0*-3

'22

x;—x=0.0004--<0.0005=-x10-3=-xl01-4

-22

x;=3.142857142857

成一x=0.001-■<0.005=1x10-2=-x101-3

22

所以彳和x;都有3位有效数字,但不是有效数.%;具有4位有效数字,是有效数.

二、误差的传播

这里仅介绍初值误差传播,即假设自变量带有误差,函数值的计算不引入新的误差.对于函数$=/(羽,®…/”)有近似值:

/利用在点

(兀;,%;,…,%;)处的泰勒公式(TaylorFormula),可以得到

fl

r-i

n

=工乞(斤*;,・・工上(€)(1・7)

r-l

其中fi:

=尘,£是兀的近似值,e(x;)是x;的绝对误差(/=1,2,式(1.7)oxi

表明函数值的绝对误差近似等于自变量绝对误差的线性组合,组合系数为相应的偏导数值.

从式(1・7)也可以推得如下函数值的相对误差传播近似计算公式

/r£

工犬(昭迟,…工)十耳(£)(1.8)

/=iy

对于一元函数y=从式(1.7)和(1.8)可得到如下初值误差传播近似计算

公式

e(QyX)eX)(1.9)

-()「)2广(1.10)

y

式(1・9)表明,当导数值的绝对值很大时,即使自变量的绝对误差比较小,函数值的绝对误差也可能很大.

例1・2试建立函数y=/(州宀,…,兀)=州+厂+…+X”的绝对误差(限)、相对误差的近似传播公式,以及*:

>0};;时的相对误差限传播公式.

解山公式(1・7)秋1.8河分别推得和的绝对误差、相对误差传播公式如下

(1・11)

(M2)

e()「)Q£力(x;,x;,…,£"(X;)=£e(X/)

r-1j-1

e,(yX)〜(x;,€,…,兀:

)二e,.(x;)=£=J(x;)

/=iyf=iy

进而有

例1・3使用足够长且最小刻度为1mm的尺子,量得某桌面长的近似值

6/*=1304.3mm,宽的近似值//=704.8mm(数据的最后一位均为估计值).试求桌子面积近似值的绝对误差限和相对误差限.

解长和宽的近似值的最后一位都是估计位,尺子的最小刻度是毫米,故有误差限

£(/)=0.5mm,£•(/?

*)=0.5mm

面积S=ab.山式(1・7)得到近似值匚=ab4的绝对误差近似为

e(S*)ab*e(a*)+a*e(b')

进而有绝对误差限

£(S\a”*")+”*(//)=704.8x0.5+1304.3x0.5=1004.55mnr相对误差限

心、£(Sj1004.55nnniln

巧(S)q—;—=20.0011=0.11%

S1304.3x704.8

§13数值实验与算法性能比较

本节通过儿个简单算例说明解决同一个问题可以有不同的算法,但算法的性能并不完全相同,他们各自有自己的适用范围,并进而指出算法设计时应该注意的事项.

算例1・1表达式丄-一=—*—,在计算过程中保留7位有效数字,研究Xx+\x(x+l)

对不同的X,两种计算公式的计算精度的差异.

说明1:

Matlab软件采用IEEE规定的双精度浮点系统,即64位浮点系统,其中尾数占52位,阶码占10位,尾数以及阶码的符号各占1位.机器数的相对误差限(机器精度)eps=2一52^2.220446X10一”,能够表示的数的绝对值在区间(2.2250739X1O-308,1.797693X1O308)内,该区间内的数能够近似表达,但有舍入误差,能够保留至少15位有效数字.其原理可参阅参考文献[2,4].

分析算法1:

y.W=--一和算法2:

y?

(A)=—1—的误差时,精确解用

XX+1~x(x+1)

双精度的计算结果代替.我们选取点集{*}二中的点作为X,比较两种方法误差的差异.

从图1」可以看出,当X不是很大时,两种算法的精度相当,但当X很大时算法2的精度明显高于算法1.这是因为,当x很大时,丄和丄是相近数,用

Xx+\

算法1进行讣算时出现相近数相减,相同的有效数字相减后变成零,于是有效数字位数急剧减少,自然相对误差增大.这一事实也可以从误差传播公式(1.12)分析出.鉴于此,算法设计时,应该避免相近数相减.

在图1.2中我们给出了当x接近-1时,两种算法的精度比较,其中变量x依次取为{龙7-1}=.从图中可以看出两种方法的相对误差基本上都为10-7,因而二者的精度相当.

2D

图1.1算例1」中两种算法的相对误差图(XTRD)

 

丈,5^1015XK

i.x=prM

图1.2算例1.1中两种算法的精度比较(JVT-1)

算例1・2试用不同位数的浮点数系统求解如下线性方程组

0.0000LVj+2x2=1

<

2x,+3x2=2

说明2:

浮点数系统中的加减法在运算时,首先按较大的阶对齐,其次对尾数实施相应的加减法运算,最后规范化存入计算机.

算法1首先用第一个方程乘以适当的系数加至第二个方程,使得第二个方程的州的系数为零,这时可解出心;其次将兀带入第一个方程,进而求得“(在第三章中称该方法为高斯消元法).当用4位和7位尾数的浮点运算实现该算法,分别记之为算法la和算法lb.

算法2首先交换两个方程的位置,其次按算法1计算未知数(第三章中称其为选主元的高斯消元法).当用4位和7位尾数的浮点运算实现该算法,分别记之为算法2a和算法2b.

方程组的精确解为=0.25000187...»x2=0.49999874...,用不同的算法计算出的结果见表1.1.

表1.1对算例1.2用不同算法的讣算结果比较

算例

1.2

X;

g;)

X;

巧(x;)

算法la

0.0000

0.10X101

0.5000

0.25XIO-7

算法2a

0.2500

0.75X10-7

0.5000

0.25XIO-7

算法lb

0.2600000

0.40X10-1

0.4999987

0.10X10-6

0.2500020

O.5OX1O-8

0.5000000

0.25X10-7

对于算例1.2,表中的数据表明,当用4位尾数计算时,算法1给出错误的结果,算法2则给出解很好的近似.这是因为在实现算法1时,需要给第一个方程乘以-2/0.00001加至第二个方程,从而削去第二个方程中比的系数,但在计算孔的系数时需做如下运算

•_2-x2+3=-0.4xlO6+0.3x10*=-0.4x106+0.000003x106(1.13)0.00001

对上式用4位尾数进行计算,其结果为一0.4X106.因为舍入误差,给相对较大的数加以相对较小的数时,出现大数“吃掉”小数的现象.计算右端项时,需做如下运算

-~2-x1+2=-0.2x106+0.2xl0*=-0.2xl06-F0.000002xl06(1.14)0.00001

同样出现了大数吃小数现象,其结果为-0.2X106.这样,得到的变形方程组‘0」xioj+0.2x10'x2=0.1x10"

-0.4x106x2=-0.2x10&

中没有原方程组中笫二个方程的信息,因而其解远偏离于原方程组的解.该算法中之所以出现较大数的原因是因为运算-2/0.00001,因而算法设计•中尽可能避免用绝对值较大的数除以绝对值较小的数.其实半分子的量级远远大于分母的量级时,除法运算还会导致溢出,计算机终止运行.

虽从单纯的一步计算来看,大数吃掉小数,只是精度有所损失,但多次的大数吃小数,累汁起来可能带来巨大的误差,棋至导致错误.例如在算法la中出现了两次大数吃小数现象,带来严重的后果.因而尽可能避免大数吃小数的出现在算法设计中也是非常必要的.

当用较多的尾数位数进行计算,舍入误差减小,算法1和2的结果都有所改善,算法1的改进幅度更大些.

算例13计算积分/”=「丄心有递推公式/,严丄-5/心(〃=1,2,…),已知

Jux+5n

釆用IEEE双精度浮点数,分别用如下两种算法计算人。

的近似值・

6

算法1

取人的近似值为/(;=0.18232155679395,按递推公式/:

=丄一5/二计

n

算心

W1

/39

".00458333333333,按递推公式/二“丄一计算

55)

算法1和算法2的计算结果见表1.2.误差绝对值的对数图见图1.3.

表1・2算例1.3的计算结果

n

算法1

n

算法2

I:

I:

-In

i;

I:

-In

1

8.8392e-OO2

1.9429e-016

39

4.5833e-003

3.9959e-004

2

5.8O39e-OO2

9.8532e-016

38

4.2115e-003

7.9919e-005

3

4.3139e-002

4.9197e-015

37

4.4209e-003

1.5984.005

4

3.4306e-002

2.4605e-014

36

4.5212e-003

3.1967e-006

5

2.8468e-002

1.2304e-013

35

4.6513e-003

6.3935e-007

6

2.4325e-002

6.1520e-013

34

4.7840e-003

1.2787e-007

•••

•••

••

33

4.9255e-003

2.5574e-008

25

1.1740e+001

1.1734e+001

32

5.0755e-003

5.1148e-009

26

-5.8664e+001

5.8670e+001

31

5.2349e-003

.0230e-009

27

2.9336e+002

2.9335e+002

30

5.4046e-003

2.0459e-010

28

-1.4667e+003

.4668e+003

29

7・3338e+003

7.3338e+OO3

30

-3.6669e+004

3.6669e+004

图1.3算例1・3用不同算法计算结果的误差绝对值的对数图

从表1.2中的计算结果可以看出,算法1随着计算过程的推进,绝对误差儿乎不断地以5的倍数增长,即有

成立.对于逐步向前推进的算法,若随着过程的进行,相对误差在不断增长,导致产生不可靠的结果,这种算法称之为数值不稳定的算法.对于算法1绝对误差按5的幕次增长,但真值的绝对值却在不断变小且小于1,相对误差增长的速度快于5的幕次,导致产生错误的结果,因而算法1数值不稳定,不能使用.而算法2随着计算过程的推进,绝对误差儿乎不断地缩小为上一步的1/5,即有

I:

—人«Ci-^1/5-C一人+2/52aI:

z一仏/5W

成立.绝对误差不断变小,真值的绝对值随着过程向前推进却在变大,这样相对误差也越来越小,这样的方法称之为数值稳定的算法.算法1和算法2的误差对数示意图见图1.3.这个算例告诉我们应该选用数值稳定的算法.

知识结构图

[绝对误差(限)

误差与算法^

误差度量相对误差(限)有效数字

•数值方法的收敛性算法数值方法的稳定性算法设计要点

习题一

1已知有效数x;=-3.105,X;=0.125X104,x;=0.010.试给出各个近似值的绝对误差限和相对误差限,并指出它们各有儿位有效数字.

2证明当近似值T是x的较好近似时,计算相对误差的计算公式丄二和丄二XX

(•、2

相差一个和1同阶的无穷小量.

3设x的近似值F具有如式(1.5)的表示形式,试证明

1)若T具有n位有效数字,则相对误差|^r(/)|

1--xlOl-n;

2)若相对误差er(x)<—1—xlOl-n,则F至少具有n位有效数字.

2(5+1)

4试建立二元算术运算的绝对误差限传播近似计算公式.

5试建立如下表达式的相对误差限近似传播公式,并针对第1题中数据,求下列各近似值的相对误差限.

1))T=x;+x;x;;2)y;=辰;3)y;=”;/x;

6若例题1.3中使用的尺子长度是80mm,最小刻度为1mm,量得某桌面长的近似值/=1304.3mm,宽的近似值Z?

4=704.8mm.试估计桌子长度、宽度的绝对误差限,并求用该近似数据讣算出的桌子面积的绝对误差限和相对误差限.

7改变如下计算公式,使其计算结果更为精确.

八1-COSXc口II

1)・x^0H|x|«l

“+1

2)JvIn皿=(7V+l)ln(/V+l)-7VlnN-l,N»1

3)y/x+1-y[x,X»1

8(数值试验)试通过分析和数值试验两种手段,比较如下三种汁算戶近似值算法的可壽性.

算法1

算法2

算法3

ea〉;

Zon\-1(v1V

l幺川丿

佝(〃?

-〃)!

丿

9(数值试验)设某应用问题归结为如下递推汁算公式

y°=28.72,yn=yn_{—5>/2»n=1,2,

在计算时41取为具有5位有效数字的有效数/.试分析近似计算公式

〉':

=元“-5/的绝对误差传播以及相对误差传播悄况,并通过数值实验验证(准确值可以用IEEE双精度浮点运算结果代替),该算法可靠可用吗?

(注:

可编辑下载,若有不当之处,请指正,谢谢!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1