数值分析误差_第1页
数值分析误差_第2页
数值分析误差_第3页
数值分析误差_第4页
数值分析误差_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

数值分析

主讲:谢灵红电话箱:xielinghong@教材

《数值方法》,金一庆等编浙江大学,机械工业出版社。实际上,只要有如下内容:绪论与误差、非线性方程求解、解线性方程组的直接法、解线性方程组迭代法、插值法、曲线拟合和函数逼近、数值积分与微分、常微分方程数值解书都可作为教材。

参考书1.《数值方法》,金一庆等编浙江大学,机械工业出版社,20002.《数值分析及其MATLAB实验》,姜健飞等编,科学出版社,20043.《数值分析》,徐跃良编,西南交大出版社,20054.《计算方法》,曹德欣等编,中国矿业大学出版社,20015《数值分析方法》,奚梅成等编,中国科学技术大学出版社,20036《数值分析》(第三版),颜庆津编[北京航空航天大学出版社,2006高等学校研究生教材。考试要求:1、考试为题库调题考试。2、期末成绩为60分以上及实验成绩(上机)通过,该门课程才通过。1.1数值分析课程介绍随着计算机和计算方法的飞速发展,几乎所有学科都走向定量化和精确化,从而产生了一系列计算性的学科分支,如计算物理、计算化学、计算生物学、计算地质学、计算气象学和计算材料学等,计算数学中的数值计算方法则是解决“计算”问题的桥梁和工具。我们知道,计算能力是计算工具和计算方法的效率的乘积,提高计算方法的效率与提高计算机硬件的效率同样重要。科学计算已用到科学技术和社会生活的各个领域中。

数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法,简称计算方法。在科学研究和工程技术中都要用到各种计算方法。例如,在航天航空、地质勘探、汽车制造、桥梁设计、天气预报和汉字字样设计中都有计算方法的踪影。

数值分析既有数学类课程中理论上的抽象性和严谨性,又有实用性和实验性的技术特征,数值分析是一门理论性和实践性都很强的学科。在70年代,大多数学校仅在数学系的计算数学专业和计算机系开设计算方法这门课程。随着计算机技术的迅速发展和普及,现在计算方法课程几乎已成为所有理工科学生的必修课程。数值分析的计算对象是微积分,线性代数,常微分方程中的数学问题。内容包括:插值和拟合、数值微分和数值积分、求解线性方程组的直接法和迭代法、计算矩阵特征值和特征向量和常微分方程数值解等问题。数值分析的计算目标是高等数学问题的的数值解。对一般理工科的学生,教学内容侧重方法的实用性和实验性部分;我们的宗旨既不以严谨理论为主导,也不是全篇的数据的数值计算,而是两者兼顾,兼收方法的基本理论和实用性。求精确解(值)一般非常困难。例如:

1.方程组阶数n很大,例如n=20,计算机运算速度1亿次/秒,用不好的方法,大约需算30多万年;好方法不到一分钟。另外,有计算结果可靠性问题。2.特征值定义

3.形式复杂时求根和求积分很困难。4.线性微分方程易解,如

非线性方程难解,如

希望:求近似解,但方法简单可行,行之有效(计算量小,误差小等)。以计算机为工具,易在计算机上实现。计算机运算:只能进行加,减,乘,除等算术运算和一些逻辑运算。计算方法:把求解数学问题转化为按一定次序只进行加,减,乘,除等基本运算——数值方法。§1.2误差基础知识一.误差来源

半个世纪以来计算机还给我们这个世界的诸多烦恼中,误差问题最为突出。小到银行利率的错算,大到导弹的错误发射,除了操作人员的疏忽、机器的故障引起的过失误差外,计算机在处理数据过程中还存在计算误差。这是计算机机器数系所引起的,这一数系的特点是有限、离散、支离破碎;这和数学上常用的实数系无限、稠密、连续的特点完全不同。机器数的表示方法通常采用浮点数形式,即:

数值计算方法就是“研究用于求得数学问题近似解的方法和过程”,由于算法的实现必须在计算机上进行,虽然计算机是非常准确且快捷的计算工具,但计算机并不是象一般人想象哪样可以解决一切问题而不出差错。其中,且都是整数0~9中的任一个数。称为尾数,尾数的位数n是有限正整数;中的m称为阶数,阶数也是有界的数。所以,机器数中有最大的数,也有最小的数。用机器数表示实数时,很多情况下都带有误差。

functions=f(m)s=0;forn=1:ms=s+0.1ends=s-100运行结果:s=-1.4069e-012反应二进制本质

在2400多年前,古希腊人提出了被称为几何三大问题的古典难题。这说明在历史上,人类就常被误差所困扰。下面问题就是三大难题之一。

例题

解不妨设已知立方体体积为1。要作的立方体体积为2,则所求方立体高度应该为,用计算机计算出,(15位数)。尽管精确度相当高,但仍是近似值。下面的表1-1列出了对h取前有限位数时,计算所得体积的误差。例1立方倍积问题。作一个立方体,使其体积为已知立方体的二倍。例1(续)位数

高度体积误差21.21.7282.7200×10-131.251.9531254.6875×10-241.2591.9956169794.3830×10-351.25991.9998997577991.0024×10-461.259921.999995000191494.9998×10-671.2599211.999999762390492.3761×10-781.2599211.999999762390492.3771×10-791.259921041.999999952878604.7121×10-8表1-1立方倍积问题的计算

由上表可知,计算机机器数的有限位特点使这一问题只能在满足一定的精度条件下解决,误差是无法消除的。§1误差来源

(2)在给出的数学模型中往往涉及一些根据观测得到的物理量,如电压、电流、温度、长度等,而观测难免不带误差,这种误差称为观测误差。

一个物理量的真实值和我们算出的值往往不相等,其差称为误差。引起误差的原因是多方面的。(1)从实际问题转化为数学问题,即建立数学模型时,对被描述的实际问题进行了抽象和简化,忽略了一些次要因素,这样建立的数学模型虽然具有“精确”、“完美”的外衣,其实只是客观现象的一种近似。这种数学模型与实际问题之间出现的误差称为模型误差。方法误差与舍入误差(4)在计算中遇到的数据可能位数很多,也可能是无穷小数,如,,等,由于计算机数系是间断的且有界,即计算时只能对有限位数进行运算,因此必须进行四舍五入,这样产生的误差称为舍入误差。(3)在计算中常常遇到只有通过无限过程才能得到的结果,但实际计算时,只能用有限过程来计算。如无穷级数求和,只能取前面有限项求和来近似代替,于是产生了有限过程代替无限过程的误差,称为截断误差,这是计算方法本身出现的误差,所以也称方法误差,这种误差是需要特别重视的。

有时,带有误差的数据也被人们频繁使用。例如,在某次人口普查,经统计我国某省的人口数为7123万,这就是一个近似数,其舍入误差不超过0.5万。用3.1415926来代替圆周率,其舍入误差为舍入误差

在对收敛的无穷级数计算中,常取有限项代替无穷项。如对于正弦函数:

取,作近似计算,则为其截断误差。

条件问题

计算方法中有一类问题称为条件问题,条件问题是一个算法(公式)由于初始数据或者中间某些数据微小摄动对计算结果产生影响的敏感性的问题。舍入误差、观测误差都属初始数据的摄动。研究坏条件问题的计算方法是十分重要的课题,有的时候,一些问题的条件并不坏,但由于算法不恰当,初始数据的微小摄动或舍入误差在计算过程中不断被放大,而可能导致计算结果的精度大大降低,甚至使计算失去意义。递推算法

递推算法是解决实际问题中使用相当普遍的一种算法,它的数学描述是带初值的递推关系式。

例2小猴吃桃问题。有一天小猴摘下了若干个桃子,当即吃掉了一半,还觉得不过瘾,又多吃了一个。第二天接着吃了剩下的一半,又多吃了一个。以后每天都是吃掉尚存的桃子的一半零一个。到第十天早上,小猴准备吃桃子时,看到只剩下1个桃子了。问小猴第一天共摘下了多少个桃子?解设第k天的桃子数为pk,则桃子数目变化规律为递推算法(续1)

这是正向递推的关系式,解之,可得逆向递推关系式

由初值,根据上式设计算循环算法计算出即第一天的桃子数为1534。。

上例中仅涉及整数序列递推,根据初值条件来选择正向递推或逆向递推使实际问题得以解决。尽管正向递推和逆向递推公式在数学上完全等价,却导致两种完全不同的算法。对于实数序列的递推由于初始误差的存在,可以一种方向的递推会使误差扩大,而另一方向的递推会使得误差逐步减小。在设计(选用)算法时要用使初始误差不增长的算法。解:当n=0时由此可得出递推计算公式:

于是可设计如下两种算法:

递推算法(续2)例3两种算法算法1算法2,由(1-2)可得:

依式(1-3)计算

的近似值。表1-1nIn(按算法1计算)In(按算法2计算)0.182321550.1823215510.088392250.0883922220.058038750.0580389230.043139580.0431387340.034302080.034303350.028489580.0284683560.024218750.0243249170.021763390.0212326080.016183050.0188369990.030195880.0169261710-0.050979410.01536914110.345806120.0140633912-0.645697260.013016368.305409380.0118412714-41.455618310.01222222130由表中结果可见,按算法1得到,这显然是错的。

说明

因为对任意n≥0均有:以及且时,。而按算法2计算,尽管取值精度不高,其误差但递推计算得到的却有8位有效数字,为什么会出现这样的现象?下面的分析说明,这是舍入误差在计算过程中传播所引起的后果。设有舍入误差(可能由计算机自动舍入引起),假定计算过程中不产生新的舍入误差,则由式(1-2)有:

说明(续1)说明(续2)而对算法2,以计算应有

从而有:因此从出发计算到时,其误差已缩小倍。上例说明,对于同一问题,不同的算法对初始数据的误差

(或计算过程中某一步的舍入误差)的传播是不同的,一

个算法,经过指定次数计算后,若仍能将初始数据的误差

的影响限于一定范围之内,这个算法的稳定性就好,反之

稳定性差,上例中,算法2具有数值稳定性、而算法1则是

数值不稳定的。显然,只有选用数值稳定性好的算法,才

能求得较准确的结果。§2绝对误差、相对误差和有效数字2.1绝对误差与相对误差设x*为准确值的近似值,记

一般情况下,准确值是不知道的,从而也不能算出绝对误差e的准确值,但往往可以根据测量工具或计算的情况估计出e的取值范围,即估计出绝对误差的一个上界ε:

这样的ε称为x*的绝对误差限或误差限。显然,误差限不是唯一的。

误差限的意义容易看出,经过四舍五入得到的数,其误差必定不超过被保留的最后数位上的半个单位,即最后数位上的半个单位为其误差限。例如若取π的近似值为3.14,则:有误差限及近似值,就可以得到准确值x的范围:

即准确值必定在区间[x*-ε,x*+ε]内,也常记作:x=x*±ε

因此,要刻划近似值的精确程度,不仅要看绝对误差的大小,还必须考虑所测量值本身的大小,这就是相对误差er。

误差限的大小不能完全反映近似值的准确程度。例如测量百米跑道长时,误差不超过10厘米,而测量黑板长时得其长度为3米,误差不超过1厘米。就误差限而言,前者为后者的10倍,但由于前者误差只占所量长度的千分之一,而后者误差则占所量长度的三百分之一,显然测量百米跑通的结果更为精确。相对误差由于准确值x未知,故一般取相对误差为:相对误差(续)

可以证明,当|er|很小时,是er的高阶无穷小,可以忽略不计。所以,取绝对误差与近似值之比为相对误差是合理的。

同样,相对误差也只能估计其上限,如果存在正数εr,使得:

则称εr为x*的相对误差限,显然,可作为x*的一个相对误差限,例如,由实验测得光速近似值为C*=2.997925×105公里/秒,其误差限为0.1公里/秒,于是

所以4×10-7是C*的一个相对误差限。2.2有效数字一个数能表示大小,如果这个数是一个近似值x*,当然希望能指明它的精确程度,如8与8.000大小一样,但若作为近似值,在引进有效数字概念后,可知其精确程度不一样。

通常要将某个位数很多的数表示成一定的位数,用四舍五入的方法,如π=3.14159265…..,可表为3.14,3.1416等,这种表示方法的特点是:近似数的误差限为其最末一位的半个单位。即:

x1*=3.14为所有三位数中与π相差最小的数,不超过末位(第三位,百分位)的半个单位,即0.5×10-2;是所有五位数中与π相差最小的数,不超过末位(第五位)的半个单位即0.5×10-4。有效数字的定义

定义1

按定义x1*=3.14可称为准确到第三位或有三位有效数字,而x2*=3.1416称为准确到第五位,或有五位有效数字。如果近似值x*的误差限是它的某一位的半个单位,就说x*“准确”到这一位,并且从这一位直到前面第一个非零数字为止的所有数字均称为有效数字。

也可以给出如下定义:

同样,x*2=3.1416有五位有效数字,因为x*2=3.1416=0.31416×101。而:x*1=3.14有三位有效数字,是因为x*1=3.14=0.314×101,而:

按上述定义,有效数字的概念实际上是说:以x*近似x,如果x*从x依四舍五入规则得到,那么x*的每一位都是有效数字。因此,实际应用时:有效数字定义的进一步解释1.若x已知,可根据四舍五入的原则得x*;若x未知,则需从近似值的误差界来判断x*的有效位数;4.有效数字越多,其绝对误差也越小,相对误差同样也越小;并且:若x*有n位有效数字,则其相对误差限为,若x*的相对误差限为,则x*至少有n位有效数字;

5.0.0023与0.002300不同,前者最多为二位有效数字,而0.002300则可能具有四位有效数字。

3.记近似值x*=0.a1a2…an×10m,若要保留五位有效数字(这是以后常会用到的),即要求误差限ε<0.5×10m-n,则n=5;有效数字举例例4取π=3.141592653…的近似值分别为3.14,3.141,3.142,3.141592时,其有效数字位数分别为,而作为数0.0509966……的近似值,其值分别为0.051、0.0510、0.05100、0.0509、0.05099时,其有效数字位数分别为。有效数字举例例4取π=3.141592653…的近似值分别为3.14,3.141,3.142,3.141592时,其有效数字位数分别为3、3、4、6,而作为数0.0509966……的近似值,其值分别为0.051、0.0510、0.05100、0.0509、0.05099时,其有效数字位数分别为2、3、4、2、3。例5例3(续)例3设=0.0270是某数经“四舍五入”所得,求其有效数字.

解:设=0.0270是某数经“四舍五入”所得,则误差不超过末位的半个单位,即:又,故该不等式又可写为由有效数字定义可知,有3位有效数字,分别是2,7,0。例4

=32.93,=32.89,求其有效数字.

解:

=32.93,=32.89,

故有3位有效数字,分别是3,2,8。由于中的数字9不是有效数字,故不是有效数。

例1.3为了使

的近似值的相对误差0.1%,问至少应取几位有效数字?

§3基本运算中的误差估计

这里主要讨论四则运算和常用函数的计

算中数据误差的传播情况。

设原始数据x1,x2,…,xn,,y与xi有关,是由xi计算所得的解。若x1,x2,…,xn,的近似值为x1*,x2*,…,xn,*,那么相应的解也有一定的误差,记为y*,此时解的绝对误差为:基本运算中的相对误差相对误差为:

我们可以利用这两个公式来估计按函数f的计算误差。给定f的具体形式,就可得到加减乘除及开方这几种基本运算中数据误差与计算结果误差间的关系:紧接下屏具体误差估计如:对加法:

类似地有:

对乘法:

对除法:

对开方:

因此,有更细的估计总结分析如下:更细的误差估计分析11)对加法:

即:和的绝对误差(或相对误差)不超过相加各项的绝对误差(或相对误差)之和。

而x1+x2≈0表示,大小相近的x1,x2异号相加,大小相近的x1,x2同号相减,此时|er(x1+x2)|很大,x1+x2的有效数字会减少。应该避免上述情况出现。2)对乘法:

当x1或x2的绝对值很大时|e(x1•x2)|可能很大;

3)对除法:除数x2接近于零时,|e(x1/x2)|可能很大;4)对开方:通常会缩小相对误差,提高精度;

5)对乘方:

这表明

温馨提示

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

评论

0/150

提交评论