现代数值计算方法(附光盘MATLAB版21世纪高等院校教材)
作者简介
内容简介
第1章 数值计算的基本概念
1.1 数值计算的研究对象和内容
数值计算是数学中关于计算的一门学问,它研究如何借助于计算工具求得数学问题的数值解答。这里的数学问题仅限于数值问题,即给出一组数值型的数据(通常是一些实数,称为初始数据),去求另一组数值型数据,问题的本身反映了这两组数据之间的某种确定关系。如函数的计算、方程的求根都是数值问题的典型例子。
数值计算的历史源远流长,自有数学以来就有关于数值计算方面的研究古代巴比伦人在公元前2000年左右就有了关于二次方程求解的研究,我国古代数学家刘徽利用割圆术求得圆周率的近似值,而后祖冲之求得圆周率的商精度的值都是数值计算方面的杰出成就。数值计算的理论与方法是在解决数值问题的长期实践过程中逐步形成和发展起来的但在电子计算机出现以前,它的理论与方法发展十分缓慢,甚至长期停滞不前。由于受到计算工具的限制,无法进行大量的复杂的计算。
科学技术的发展与进步提出了越来越多的复杂的数值计算问题,这些问题的圆满解决己远非人工手算所能胜任必须依靠电子计算机快速准确的数据处理能力。这种用计算机处理数值问题的方法,称为科学计算。今天,科学计算的应用范围非常广泛,天气预报、工程设计、流体计算、经济规划和预测以及国防尖端的一些科研项目,如核武器的研制、导弹和火箭的发射等,始终是科学计算最为活跃的领域。
现代数值计算的理论与方法是与计算机技术的发展与进步一脉相承的。无论计算机在数据处理、信息加工等方面取得了多么辉煌的成就,科学计算始终是计算机应用的一个重要方面,而数值计算的理论与方法是计算机进行科学计算的依据它不但为科学计算提供了可靠的理论基础,并且提供了大量行之有效的数值问题的算法。
由于计算机对数值计算这门学科的推动和影响,使数值计算的重点转移到使用计算机编程算题的方面上来。现代的数值计算理论与方法主要是面对计算机的研究与寻求适合在计算机上求解各种数值问题的算法是数值计算这门学科的主要内容。
1.2 数值算法的基本概念
粗略地说,数值算法就是求解数值问题的计算步骤。由一些基本运算及运算顺序的规定构成的一个(数值)问题完整的求解方案称为(数值)算法。
计算机的运算速度极高,可以承担大运算量的工作,这是否意味着人们可以对计算机上的算法随意选择呢?
我们知道,在线性代数中,克拉默法则原则上可用来求解线性方程组用这种方法求解一个n阶方程组,要计算n+1个n阶行列式的值,这意味着总共需要做An=n(n-1)(n+1)次乘法。当n充分大时,这个计算量是相当惊人的譬如z对于一个20阶的方程组,大约需要做A20~1021次乘法,现在假设这项计算用每秒十亿次(109)的计算机去做,每年只能完成大约3。15x1016(365x24x3600x109),故所需时间约为1021-T(3.15X1016)~3.2X104(年),即大约需要三万二千年才能完成。当然,解线性方程组我们有许多实用的算法(参看本书的后续章节)。这个简单的例子说明,能否正确地制定算法是科学计算成败的关键。
计算机虽然是运算速度极高的现代化计算工具,但它本质上仅能完成一系列具有一定位数的基本的算术运算和逻辑运算。故而在进行数值计算时,首先要将各种类型的数值问题转化为一系列计算机能够执行的基本运算。
通常的数值问题是在实数范围内提出的,而计算机所能表示的数仅仅是有限位小数,误差不可避免。这些误差对计算结果的影响是需要考虑的。如果给出一种算法,在计算机上运行时,误差在成千上万次的运算过程中得不到控制,初始数据的误差,由中间结果的舍入产生的误差,这些误差在计算过程中的累计越来越大,以致淹没了真值,那么这样的计算结果将变得毫无意义相应地,我们称这种算法是不可靠的,或者数值不稳定的现在的计算机无论在运算速度上还是在存储能力上都是传统计算工具所无法比拟的。但即使这样,我们在设计算法时,也必须对算法的运算次数和存储量大小给予足够的重视。实际中存在大量这样的问题,由于所提供的解决这些问题的算法的运算量大得自惊人即使利用最尖端的计算机也无法在有效时间内求得问题的答案。
那么,一个好的算法一般应该具备什么特征呢?(1)必须结构简单,易于计算机实现(2)理论上必须保证方法的收敛性和数值稳定性;(3)计算效率必须要高,即计算速度快且节省存储量(4)必须经过数值实验检验,证明行之有效。
1.3 误差的基本理论
1.3.1 误差的来源
误差是描述数值计算中近似值精确程度的一个基本概念,在数值计算中十分重要,误差按来源可分为模型误差、观测误差、截断误差和舍入误差四种。
1.模型误差
数学模型通常是由实际问题抽象得到的,一般带有误差,这种误差称为模型误差
2.观测误差
数学模型中包含的一些物理参数通常是通过观测和实验得到的,难免带有误差,这种误差称为观测误差。
3.截断误差
求解数学模型所用的数值方法通常是一种近似方法这种因方法产生的误差称为截断误差或方法误差例如,利用ln(x+1),y公式实际计算时只能截取有限项代数和计算,如取前5项有z这时产生误差(记作R5)。
4.舍入误差
由于计算机只能对有限位数进行运算,在运算中像等都要按舍入原则保留有限位,这时产生的误差称为舍入误差或计算误差。关于舍入误差,以后我们还要讨论。
在数值分析中,我们总假定数学模型是准确的,因而不考虑模型误差和观测误差,主要研究截断误差和舍入误差对计算结果的影响。
1.3.2 绝对误差和相对误差
1.绝对误差
给一实数x,它的近似值为x-x反映了近似值和精确值差异的大小,因此称为近似数的绝对误差。由于精确值往往是无法知道的,因此近似数的绝对误差也无法得到,但有时却能估计出e(功的绝对值的一个上限如果存在一个正数n,使得则称为f的绝对误差限(或误差界)。此时通常将上式简记为x。
2.相对误差
绝对误差通常不能完全反映近似数的精确程度,它还依赖于此数本身的大小,因此有必要引进相对误差的概念。近似数f的相对误差定义为(x)由于z未知,实际使用时总是将f的相对误差取为和绝对误差的情况一样,引进相对误差限(或相对误差界)的概念。如果存在一个正数,使得(x)1,则称为x的相对误差限。
根据上述定义可知,当1cm时,测量10m物体时的相对误差为而测量100m物体时的相对误差为可见后者的测量结果要比前者精确。所以,在分析误差时,相对误差更能刻画误差的特性。
例1.1设x=4。但是由精确值x经过四舍五入得到的近似值,求f的绝对误差限和相对误差限。