应用基础数值 16_第1页
应用基础数值 16_第2页
应用基础数值 16_第3页
应用基础数值 16_第4页
应用基础数值 16_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

应用数值分析第一讲误差与误差的传播2算法

34数值计算时应注意的问题5教学小结提纲误差的来源1问题引入教学目标与重难点教学目标误差的来源及对策。实际问题中,误差的传播。

1.能说出算法的各种表述形式,以及算法的基本特点;2.能说出误差的来源,能解释及运用误差的概念;

3.能列举数值计算时需要注意的问题。教学重点教学难点一问题引入一、问题引入运用数值计算方法解决科学研究或工程技术问题,一般的途径为:实际问题模型设计算法设计程序设计上机计算问题的解数值分析与计算机科学有密切的关系。我们在考虑算法时,往往要同时考虑计算机的特性,如计算速度、存贮量、误差精度等技术指标,考虑程序设计的可行性和复杂性。如果具备了一定的计算机知识和程序设计能力,学习数值分析的理论和方法就会有更加深刻的体会,选择或设计的算法也会更合理和实用。二算法二、算法解决某类数学问题的数值方法称为算法。为使算法能在计算机上实现,它必须将一个数学问题分解为有限次的+、-、×、÷运算和一些简单的基本函数运算。如:二、算法1.算法的表述形式

用框图描述,这种方式描述计算过程流向较清楚,特别易于编制程序,但对初学者来说有一个习惯过程.此外框图描述格式不统一,详略难以掌握。算法程序,即用计算机语言描述的算法,它是面对计算机的算法。我们以后讨论的算法,都有现成的程序文本和软件可资利用。但从学习算法的角度看,这种描述方式并不有利。算法描述语言,它是表述算法的一种通用语言。有特定的表述程序和语句。可以很容易地转化为某种计算机语言,同时也具有一定的可读性。用数学公式和文字说明描述,这种方式符合人们的理解习惯,与算法的推证相衔接,易于学习接受,但离计算机应用的距离还远。

算法的表述形式是多种多样的。二、算法2.算法的基本特点例1

计算sinx的值根据sin

x

的无穷级数这是一个无穷级数,我们只能在适当的地方“截断”,使计算量不太大,而精度又能满足要求。

如计算sin0.5,取n=3算法常表现为一个无穷过程的截断二、算法据Taylor余项公式,它的误差应为结果是相当精确的,计算的结果的六位数字都是正确的。算法常表现为一个连续过程的离散化例2

计算积分值.将[0,1]分为4等分,分别计算4个小曲边梯形的面积的近似值,然后加起来作为积分的近似值(如图1-1).记被积函数为011x图1-1计算有:I≈0.697024,与精确值0.693147比较,结果不够精确,如进一步细分区间,精度可以提高。算法常表现为“迭代”形式。迭代是指某一简单算法的多次重复,后一次使用前一次的结果。这种形式易于在计算程序中实现,在程序中表现为“循环”过程。二、算法用tk表示xk,uk表示Pn(x)式前k+1项之和。对k=1,2,…,n,反复执行

显然Pn(x)=un,而(1.1)式是一种简单算法的多次循环。

例3

多项式求值

(1.1)作为初值令法一:二、算法显然Pn(x)=vn

这两种算法都是将n次多项式化为n个一次多项式来计算,这种化繁为简的方法在数值分析中经常使用。k=1,2,

,n(1.2)对此问题还有一种更好的迭代算法。法二:令二、算法迭代法应用时要考虑是否收敛、收敛条件及收敛速度等问题,今后将进一步详细讨论。第一法:执行n次(1.1)式,每次2次乘法,一次加法,共计2n次乘法,n次加法。第二法:执行n次(1.2)式,每次1次乘法,一次加法,共计n次乘法,n次加法。显然第二种方法运算量小,它是我国宋代数学家秦九韶最先提出的,被称为“秦九韶算法”。下面估计一下以上两种算法的计算量三误差的来源三、误差的来源1.误差的来源

误差三、误差的来源固有误差是由求解工程问题的数学模型本身所具有的误差,是无法避免的。测量误差

数学模型中的已知参数,多数是通过测量得到。而测量过程受工具、方法、观察者的主观因素、不可预料的随机干扰等影响,必然带入误差。如:重力公式中的重力加速度就带有误差。模型误差

在建立数学模型时,往往要忽视很多次要的因素,将模型“简单化”,“理想化”,模型就产生了误差。

三、误差的来源计算误差是用数值方法求得的近似解与准确解之间的误差。它可以通过选择好的数学模型,选择好的计算方法来加以控制。舍入误差

计算机只能处理有限数位的小数运算,初始参数或中间结果都必须进行四舍五入运算,这必然产生舍入误差。截断误差

数学模型常难于直接求解,往往要近似替代,简化为易于求解的问题,这种简化带入误差称为方法误差或截断误差。如例1的计算。如在数值分析课程中,主要讨论计算误差中的截断误差。舍入误差的产生常带有很大的随机性,讨论比较困难,在问题本身呈病态或算法稳定性不好时,它可能成为计算中误差的主要部分。而模型误差与测量误差,常常将它作为初始数据的误差来看待。三、误差的来源2.误差的基本概念绝对误差不能完全刻画近似值的精度。定义1.2.2

称绝对误差与精确值的比值

为x*

的相对误差,记作RE定义2.1

设x

是准确值(一般是不知道的),x*是它的一个近似值,称E=x-x*为近似值x*的绝对误差。三、误差的来源相对误差常用百分比表示,无量纲单位。也不能准确计算,用相对误差限来估计。实际上由于x不知道,常用x*

代x

作分母,此时绝对误差一般无法准确计算,只能估计出它的绝对值的一个上限,这个上限称为近似值x*的绝对误差限,常记为ε,|x-x*|≤ε,其意义是:x-ε≤x*≤x+ε,在工程应用中常记为

x*=x±ε.三、误差的来源定义2.3

如果近似值x*

的误差限ε是不超过它某一位数字的半个单位,则称x准确到该位。且从这一位起直到前面第一个非零数字为止的所有数字称为x*

的有效数字。

例2.1

按舍入原则,分别写出下列各数具有5位有效数字的近似数即通常所说的n位有效数字是指从左端第一位非零数字开始,往右数至第n+1

位数字,并对第n+1位数字进行四舍五入而得的近似数。①287.9325②0.03785551③8.000033④2.718281828459045⑤2.765450三、误差的来源解①287.9325≈287.93②0.03785551≈0.037856③8.000033≈8.0000④2.718281828459045≈2.7183⑤A:2.765450≈2.7655补充规则:在一个冗长的计算中,为避免舍入误差累积过大,当需取舍的数字为5时,使近似数的最后数字为偶数。绝对误差限E=|2.765450-2.7655|=|-0.00005|=0.00005B:2.765450≈2.7654绝对误差限E=|2.765450-2.7654|=|0.00005|=0.00005如:2.765450≈2.7654三、误差的来源

3.误差的分析方法2.向后误差分析法从初始数据出发,随着计算过程的进行,将每次计算产生的误差存储并累积起来,得到最后计算结果的误差。工程计算不常用,但银行利息的计算需用此方法。1.向前误差分析法将计算过程中计算误差的产生归结为初始数据的影响。即假设初始数据存在某一误差(扰动),并使这一误差的影响等效于计算过程中所产生的计算误差。数值分析中常用的是向后误差分析方法。四数值计算时应注意的问题四、数值计算时应注意的问题例3.1

取四位有效数字计算x-y近似值。

①x=18.496;y=17.208②x=18.496;y=18.4931.避免相近数作减法运算相近的数作减法运算将会严重损失有效数字,从而导致很大的相对误差。①取四位有效数字得x,y的近似值分别为:

x*=18.50;y*=17.21

x*-y*=

18.50-17.21=1.29而x-y=18.496-17.208=1.288解

四、数值计算时应注意的问题②取四位有效数字得x,y的近似值分别为:

x*=18.50;y*=18.49

x*-y*=

18.50-18.49=0.01而x-y=18.496-18.493=0.003绝对误差

相对误差四、数值计算时应注意的问题避免方法:增加有效数字;化为等价形式,如误差将扩大很多。在大量数据的累加运算中,由于加法必须进行对位,有可能出现大数“吃掉”小数。2.避免分式中分母的绝对值远小于分子的绝对值

若则运算中,当分子有误差时,整个分式的相对3.防止大数“吃掉”小数四、数值计算时应注意的问题

1010=0.100000000×10111=0.000000000

×1011相加后的结果为1010+1=0.100000000×1011;1被“吃”掉了。例2

在字长为10位数字的计算机上计算1010+1的值解按照规格化浮点数的表示方法有

1010=0.100000000×10111=0.100000000×101但在计算时,先对“阶”得

1010=0.100000000×10111=0.000000000①×1011数字①位于尾数第11位,计算机中无法存储,因此实际存储并参加计算的是四、数值计算时应注意的问题4.病态问题和算法的稳定性对某数学问题本身,如果输入数据有微小扰动(即误差),会引起输出数据(即问题的解)的很大扰动,称此数学问题为病态问题.这是由数学问题本身的性质决定的,与算法无关.

在某一数学问题的计算过程中,舍入误差是否增长直接影响计算结果的可靠性.这里可能是数学问题本身性态不好,也可能是选择的算法出了问题.如:四、数值计算时应注意的问题即x有0.01的扰动,对结果y产生232.67倍的误差.这里并没涉及具体的算法,是问题本身的性态造成的.实际上1.5接近,而在附近,是一个病态问题.如果误差增长并不是数学问题本身引起,而是算法选择不当所致.则称此算法稳定性不好.如选择用向前差商算法近似计算y’(1),取步长h=0.01,用四位有效数字作近似计算:四、数值计算时应注意的问题对病态问题,应尽量在建立数学模型时加以避免,实在避免不了时,可试用双精度勉强计算.结果明显很差.这里并不是h取得不够小的原因,如h=0.001,将只能得到y’(1)≈0.5,结果更差.这是因为用相近数相减,损失了大量有效数位的缘故.

温馨提示

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

评论

0/150

提交评论