误差的基本理论与预备知识.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章误差的基本理论与预备知识
一、内容分析与教学建议
本章内容包括三个部分:课程介绍、误差的基本概念、避免误差危害的若干原则。
(一)课程介绍
“数值分析”是信息与计算科学专业的专业基础课,是学习后续专业课的基础。因此在绪论的讲解过程中,注意阐明学习数值计算方法这门课程的目的、意义和重要性,本课程的主要内容以及它在计算数学和科研过程中的地位,激发学生学习“数值分析”的积极性和兴趣。
(二)误差的基本概念
1、首先阐明误差的来源和误差的分类。明确计算数学研究的误差主要是:截断误差和舍入误差。
2、讲解绝对误差和绝对误差限,相对误差和相对误差限的定义,并通过具体的实例介绍为什么要引入相对误差的概念。
3、可结合中学介绍过的有效数字的概念,介绍有效数字的严格定义及有效数字的位数,有效数字与相对误差限的关系,并通过具体的例子介绍如何求有效数字的位数。
(三)避免误差危害的若干原则
按照教材中的例子可直观地阐明避免误差危害的主要原则:
●避免两个相近的数相减;
●防止重要的小数被大数“吃掉”;
●在除法的运算中避免出现除数的绝对值远远小于被除数的绝对值的情形;
●简化计算步骤;
●注意算法的稳定性。
当今科技领域中所提出的三大环节是:实验、科学计算和理论分析和研究。由于计算机的出现和发展,使科学计算在科研与工程实际中越来越显示出它的卓越作用。例如,在计算机上修改一个设计方案比在实地作修改要容易得多。为此,人们往往就用科学计算来取代部分实验;更何况有些课题是无法进行实验的,而只能通过科学计算去解决;(例如,计算机模拟核爆炸)。这种由实验向计算的巨大转变,也促使一些边缘学科的相继出现,例如,计算物理、计算力学、计算化学、计算生物学以及计算经济学等等都应运而生。有些理论证明往往也是通过计算去解决,例如,四色问题,吴文俊院士开创的机器证明等。也就是说,科学计算可以全部或部分地代替理论证明。
科学计算既然如此重要,那么数值分析在其中又处于一种什么地位呢?由下图可知:数值分析是处于一种承上启下的地位,它在科学计算中是重要的不可或缺的一环。
由实际问题建立数学模型一般要涉及多门学科的知识,本课程不做讨论。由数学模型提出数值计算方法,直到编程上机计算求出结果,这一过程是计算数学的任务,也是本课程研究的对象。
计算数学是数学的一个重要分支,它主要研究用计算机求解各种数学问题的数值方法及其理论,以及软件实现。数值计算方法(也称数值分析或计算方法)是计算数学的一个主要部分,它不同于纯数学那样研究数学本身的理论,而是一门把数学理论与计算机紧密结合起来进行研究的实用性很强的基础学科,它主要研究用计算机解决数学模型的理论与方法。
§1 计算方法的基本要求
一个可行、有效的算法必须满足下列基本要求:
(1) 符合计算机的要求
我们知道计算机只能对有限位数进行加、减、乘、除与逻辑运算,因此对给定的数学模型提出的数值计算方法也只能包含上述五种运算。对于具体算法还要考虑计算机的内存大小、数字字长、运算速度等。有的算法从纯数学的观点看不够严格和完善,但通过实际计算、对比分析等手段证明是行之有效的也常被采用。特别地,随着计算机的飞速发展,一些算法在老的计算机上无法实现,而在新型计算机上却可以实现。总之,对于给定的数学模型,在构造算法时要面向计算机,符合计算机的要求。
(2) 在理论上收敛、稳定,在实际计算中精确度高
由于计算机只能近似地表示实数,不论计算机中的数是定点表示,还是浮点表示,它所表示的数的位数都是有限的,且任一算法只能在有限的时间内通过有限次运算来完成。这说明用计算机运算得到的结果都是近似的,因此需要考虑算法的精确度问题。在理论上我们还要研究用计算机运算得到的结果是否收敛到实际问题的解。此外,我们还要考虑算法的数值稳定性问题。
(3) 计算复杂性尽可能小
从实际需要出发,我们还需要考虑计算量的大小,即所谓计算复杂性问题。它是由以下两个因素决定的:使用中央处理器(CPU)的时间,这主要由四则运算的次数决定;占用内存储器的空间,这主要由使用的数据量来决定。有时也称之为时间与空间的复杂性,简称计算复杂性。例如,解线性方程组A x = b,若det A≠0,则可用Cramer法则来解。设A 为20阶矩阵,计算一个20阶行列式需要的乘法运算量为19×20!,需计算21个20阶的行列式,总的乘法运算量为
21×19×20!≈9.71×1020.
若用10亿次/ 秒的计算机来运算,则一年可完成的乘法运算量为
109×365×24×3600 ≈3.15×1016.
解20阶的方程组所需乘法运算的时间为
9.71×1020÷(3.15×1016) ≈3.08×104(年),
即三万零八百年,显然这个运算时间在实际中是不可接受的。而在实际问题中,例如大型水利工程、天气预报等,需要解的大型方程组的阶数一般都远远大于20,若用上述方法显然无法解决。这个例子说明解线性方程组的Cramer法则在理论上虽然可行,但在实际应用中却不可行。有人可能说,随着计算机的发展,运算速度提高、内存增大以及新结构计算机的涌现,以前认为过于复杂而不能求解的问题将会得到解决。但是,不论计算机如何发展,使用计算机的代价,即计算复杂性,都是要考虑的。
对于给定的数学模型,可能有多种算法,应通过计算机进行数值试验,进行分析、比较来选定算法。对新提出的算法,有的在理论上虽然还未证明其收敛性,但可以从具体试验中发现其规律,为理论证明提供线索。
总之,对于给定的数学模型所提出的可行、有效的算法应该是符合计算机的要求,在理论上收敛、稳定,在实际计算中精确度高,计算复杂性小,能通过试验验证的数值方法。
§2 误差及有效数字
一、误差的来源
1. 模型误差:数学模型与实际问题之间的误差称为模型误差。
一般来说,生产和科研中遇到的实际问题是比较复杂的,要用数学模型来描述,需要进行必要的简化,忽略一些次要的因素,这样建立起来的数学模型与实际问题之间一定有误差。它们之间的误差就是模型误差。
2. 观测误差:实验或观测得到的数据与实际数据之间的误差称为观测误差或数据误差。 数学模型中通常包含一些由观测(实验)得到的数据,例如用21()2
s t gt =来描述初始速度为0的自由落体下落时距离和时间的关系,其中重力加速度9.8g ≈2米秒是由实验得到的,它和实际重力加速度之间是有出入的。其间的误差就是观测误差。
3. 截断误差:数学模型的精确解与数值方法得到的数值解之间的误差称为方法误差或截断误差。
例如,由Taylor 公式得
2
1()2!!n
x n x x e x R x n =+++++ 用2
()12!!
n n x x p x x n =++++近似代替x e ,这时的截断误差为 1(),(1)!
n n e R x x n ξ
ξ+=+介于0与x 之间。 4. 舍入误差:对数据进行四舍五入后产生的误差成为舍入误差。
在本课程中所涉及到的误差,一般是指截断误差和舍入误差。
二、误差的基本概念
1. 绝对误差和绝对误差限、相对误差和相对误差限