《西安石油大学现代数值计算方法课件》由会员分享,可在线阅读,更多相关《西安石油大学现代数值计算方法课件(37页珍藏版)》请在金锄头文库上搜索。
1、课程名称:F数值分析F或计算方法(考试时要带上计算器(有函数的)第一章第一章 数值计算中的误差分析数值计算中的误差分析(绪论)(绪论)内容提要内容提要 1.1 1.1 计算方法的任务与特点计算方法的任务与特点 1.2 1.2 误差与误差估计误差与误差估计( (误差知识误差知识) ) 1.3 1.3 选用算法时应遵循的原则选用算法时应遵循的原则1.11.1计算方法的任务与特点计算方法的任务与特点F科学与工程计算过程:科学与工程计算过程:F实际问题实际问题数学模型数学模型数值问题数值问题算法算法程程序序调试调试结果结果计算机用途分类:计算机用途分类:科学计算、数据处理科学计算、数据处理计算方法的特
2、点F严密的科学性、实验的技术性、高度的严密的科学性、实验的技术性、高度的抽象性、应用的广泛性、提供算法、算抽象性、应用的广泛性、提供算法、算法分析、兼顾计算机的特点:有效数字法分析、兼顾计算机的特点:有效数字(精度)、运算量、存储量等。(精度)、运算量、存储量等。第一章第一章 绪论绪论第二章第二章 线性方程组求解线性方程组求解第三章第三章 非线性方程求解非线性方程求解第四章第四章 矩阵特征值问题(不讲)矩阵特征值问题(不讲)第五章第五章 函数的插值函数的插值第六章第六章 曲线拟合曲线拟合第七章第七章 数值积分和数值微分数值积分和数值微分第八章第八章 常微分方程数值解法常微分方程数值解法 本课程
3、主要内容本课程主要内容1.2 1.2 误差知识误差知识(误差与数值计算中的误差估计)(误差与数值计算中的误差估计) 内容提要:内容提要:1.1.误差的来源及其分类误差的来源及其分类2.2.误差的度量(误差与有效数字)误差的度量(误差与有效数字)3.3.数值计算的误差估计数值计算的误差估计一、误差来源及其分类一、误差来源及其分类1)1)模型误差(描述误差)模型误差(描述误差) 反映实际问题有关量之间的计算公式反映实际问题有关量之间的计算公式(数学模型)通常是近似的。(数学模型)通常是近似的。2 2)观测误差)观测误差3 3)截断误差(方法误差)截断误差(方法误差) 数值方法精确解与待求解模型的理
4、论分数值方法精确解与待求解模型的理论分析解之间的差异。析解之间的差异。 这是由于我们需要将无穷过程截断为有这是由于我们需要将无穷过程截断为有限过程,而使得算法必须在有限步内执行结限过程,而使得算法必须在有限步内执行结束而导致的。束而导致的。例如:例如:4 4)舍入误差)舍入误差 以四舍五入为例(也可以五舍六入等)最多舍去或添加最后一位的半个单位。注意:与截断误差不同!二、误差的度量二、误差的度量1)绝对误差2)相对误差3)有效数字4)度量间的关系1. 绝对误差F绝对误差定义:准确值绝对误差定义:准确值 x 减近似值减近似值 x* 绝对误差限:绝对误差限:书上有错!改正2.相对误差 绝对误差限虽
5、然能够刻划对同一真值不同近似绝对误差限虽然能够刻划对同一真值不同近似的好坏,但它不能刻划对不同真值近似程度的好的好坏,但它不能刻划对不同真值近似程度的好坏坏 。有效数:当有效数:当x*为为四舍五入得到的近似数,四舍五入得到的近似数,则称则称x*为有效数。为有效数。有效数的绝对误差限、相对误差限,有效数字位数举例:例若有效数x*=1.02,则绝对误差限: (x*)=0.005相对误差限: (x*)= (x*)/| x*|= 0.0049,x*具有3位有效数字.若有效数x*= 2500,则绝对误差限 (x*)=0.5,相对误差限 (x*)= (x*)/| x*|= 0.0002x*具有4位有效数字
6、.F若有效数x*= 25102,则 (x*)=50 ,(x*)= (x*)/| x*|= 0.02,x*具有2位有效数字.注意:有效数 2500=25.00102但与 25102的误差不同;当然与一个准确数2500也不同。关于某一位的半个单位关于某一位的半个单位3.3.有效数字(教材第有效数字(教材第6 6页中间):页中间):F若近似数若近似数x*x*的绝对误差限是(不超过)的绝对误差限是(不超过)某一位的半个单位,则称其精确到这一某一位的半个单位,则称其精确到这一位,且从该位到位,且从该位到x*x*的第一位非零数字共的第一位非零数字共有有n n位,则称近似数位,则称近似数x*x*具有具有n
7、n位有效数字位有效数字.F(黑板举例)分两种情况:有效数的有效数字位数。若既知道x*(非有效数),又知道x时,如何求有效数字位数?见下例:F举例:举例:x=3.1415926,x=3.1415926,F近似数近似数 x x1 1* *=3.14102, x=3.14102, x2 2* *=3.142=3.1423 3位有效数字,非有效数!位有效数字,非有效数!4 4位有效数字,有效数位有效数字,有效数注意:一个有效数,若知道对应的准确数,此时所求误差限可能不同。而有效数字位数怎样求都一样。 数的标准形式FRemark1Remark1: : 有效数的误差限是末位数单位的一半,有效数的误差限是末
8、位数单位的一半,可见有效数本身就体现了误差界。可见有效数本身就体现了误差界。FRemark2Remark2: : 对真值进行四舍五入得到有效数。对真值进行四舍五入得到有效数。FRemark3Remark3: :准确数字有无穷多位有效数字。准确数字有无穷多位有效数字。FRemark4Remark4: : 从实验仪器所读的近似数(最后一为是估从实验仪器所读的近似数(最后一为是估计位)不是有效数,估计最后一位是为了确保对最计位)不是有效数,估计最后一位是为了确保对最后一位进行四舍五入得到有效数。后一位进行四舍五入得到有效数。例例 从最小刻度为厘米的标尺读得的数据从最小刻度为厘米的标尺读得的数据123
9、.4cm123.4cm是为了得到有效数是为了得到有效数123.cm,123.cm,读得数据读得数据156.7cm156.7cm是为了得到有效数是为了得到有效数157.cm157.cm。4.4.误差度量间的联系误差度量间的联系F绝对误差与相对误差绝对误差与相对误差F绝对误差与有效数字(教材第绝对误差与有效数字(教材第7页页1.2.2式)式)F相对误差与有效数字(相对误差与有效数字(教材教材第第8页页1.2.3式)式)定理证明证毕RemarkF1 1、该定理实质上给出了一种求相对误差限的方法。、该定理实质上给出了一种求相对误差限的方法。F2 2、仅从、仅从 并不能保证并不能保证x x* *一定具有
10、一定具有n n位有效数字。如位有效数字。如 设其近似值设其近似值a=0.484a=0.484,其相对误差为:,其相对误差为:我们并不能由此断定我们并不能由此断定a a有两位有效数字,因为有两位有效数字,因为例题例题解:解:三、数值运算的误差估计三、数值运算的误差估计F由于自变量的误差,引起函数值的误差。也称为误差传播。这种函数值的误差往往很难精确描述,只能大体估计。F例如一元函数,二元函数,等。y*的绝对误差E(y*)= y-y*,相对误差Er(y*)=( y-y*)/y*,复习泰勒公式复习泰勒公式泰勒公式分析初值误差传播泰勒公式分析初值误差传播相对误差(教材第相对误差(教材第9页页1.2.6
11、式):式):进而得到如下绝对误差限和相对误差限传播关系:进而得到如下绝对误差限和相对误差限传播关系: 例题:参见教材第例题:参见教材第10页例页例3求导数复习:基本初等函数的导数;四则运算的导数;复合函数求导。v选用数值稳定性好的算法。v定定义义:一一个个算算法法, , 如如果果在在运运算算过过程程中中舍舍入入误误差差在在一一定定条条件件下下能能够够得得到到控控制制, , 或或者者舍舍入入误误差差的的增增长长不不影影响响产产生生可可靠靠的的结结果果, , 则则称称该该算算法法是是数数值稳定的值稳定的, , 否则称其为数值不稳定否则称其为数值不稳定. .v例:计算如下积分近似值的两种方案比较方法
12、方法1:1.3 选用算法应遵循的原则方法方法1 1计算结果计算结果方法一结果分析方法一结果分析n方法一分析:计算结果表明方法一分析:计算结果表明, , 舍入误差的传播近舍入误差的传播近似依似依5 5的幂次进行增长的幂次进行增长, , 因而是一种不稳定的方因而是一种不稳定的方法。法。 方法二:方法二:由此分析知,该方法是稳定的。关于初值的近由此分析知,该方法是稳定的。关于初值的近似可由下面式子得到:似可由下面式子得到:方法方法2 2计算结果计算结果v简化计算步骤以减少运算次数。简化计算步骤以减少运算次数。例例1 1例2 秦九韶算法 例v尽量避免相近的数相减尽量避免相近的数相减 例例 x=52.1
13、27 xx=52.127 x* *=52.129 =52.129 四位有效数字四位有效数字 y=52.123 yy=52.123 y* *=52.121 =52.121 四位有效数字四位有效数字 A=A=x-yx-y=0.004 A=0.004 A* *=x=x* *-y-y* *=0.008 =0.008 零位有效数字零位有效数字结论:避免相近数相减v合理安排量级相差很大的数之间的运算次合理安排量级相差很大的数之间的运算次序序, , 尽可能避免大数尽可能避免大数“吃掉吃掉”小数。小数。一些避免相近数相减示例一些避免相近数相减示例当当|x|1|x|1时时当当|x|1|x|1时时v尽可能避免绝对
14、值很小的数做分母,防尽可能避免绝对值很小的数做分母,防止出现溢出。止出现溢出。当当a,ba,b中有近似值时,由中有近似值时,由若 ,则 可能很大。当a,b都是准确值时,由于 很大,会使其它较小的数加不到 中而引起严重误差,或者会发生计算机“溢出”,导致计算无法进行下去。总之, 除了算法的正确性之外, 在算法设计中至少还应应: :1 1 选用数值稳定性好的算法;选用数值稳定性好的算法;2 2 简化计算步骤以减少运算次数简化计算步骤以减少运算次数; ;3 3 尽量避免两个相近的近似数相减尽量避免两个相近的近似数相减; ;4 4 尽可能避免绝对值很小的数做分母,防止出现尽可能避免绝对值很小的数做分母,防止出现溢出溢出. .5 5 合理安排量级相差很大的数之间的运算次序合理安排量级相差很大的数之间的运算次序, , 防止大数防止大数 吃掉吃掉 小数小数. .