数值分析--第1章绪论
- 格式:doc
- 大小:875.50 KB
- 文档页数:17
h h 第一章 绪论
上世纪中叶诞生的计算机给科学、工程技术和人类的社会生活带来一场新的革命。它使科学计算平行于理论分析和实验研究,成为人类探索未知科学领域和进行大型工程设计的第三种方法和手段。在独创性工作的先行性研究中,科学计算更有突出的作用。在今天,熟练地运用电子计算机进行科学计算,已成为科学工作者的一项基本技能。然而,科学计算并不是计算机本身的自然产物,而是数学与计算机结合的结果,它的核心内容是以现代化的计算机及数学软件为工具,以数学模型为基础进行模拟研究。近年来,它同时也成为数学科学本身发展的源泉和途径之一。
1 数值分析的研究对象与特点 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。一般地说,用计算机解决科学计算问题,首先需要针对实际问题提炼出相应的数学模型,然后为解决数学模型设计出数值计算方法,经过程序设计之后上机计算,求出数值结果,再由实验来检验。概括为
由实际问题的提出到上机求得问题的解答的整个过程都可看作是应用数学的任务。如果细分的话,由实际问题应用有关科学知识和数学理论建立数学模型这一过程,通常作为应用数学的任务,而根据数学模型提出求解的数值计算方法直到编出程序上机计算出结果,这一过程则是计算数学的任务,即数值分析研究的对象。因此,数值分析是寻求数学问题近似解的方法、过程及其理论的一个数学分支。它以纯数学作为基础,但却不完全像纯数学那样只研究数学本身的理论,而是着重研究数学问题求解的数值方法及与此有关的理论,包括方法的收敛性,稳定性及误差分析;还要根据计算机的特点研究计算时间最省(或计算费用最省)的计算方法。有的方法在理论上虽然还不够完善与严密,但通过对比分析,实际计算和实践检验等手段,被证明是行之有效的方法也可采用。因此数值分析既有纯数学高度抽象性与严密科学性的特点,又有应用的广泛性与实际试验的高度技术性的特点,是一门与使用计算机密切结合的实用性很强的数学课程。 在电子计算机成为数值计算机的主要工具以后,则要求研究适合计算机使用的,满足精确要求,计算时间省的有效算法及其相关的理论。在实现这些算法时往往还要根据计算机的容量、字长、速度等指标,研究具体的求解步骤和程序设计技巧。有的方法在理论上虽还不够严格,但通过实际计算、对比分析等手段,证明是行之有效的方法,也应采用。这些就是数值分析具有的特点,概括起来有四点: 第一,面向计算机,要根据计算机特点提供切实可行的有效算法。即算法只能包括加、减、乘、除运算和逻辑运算,这些运算是计算机能直接处理的运算。 .第二,有可靠的理论分析,能任意逼近并达到精确要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析。这些都建立在相应数学理论的基础上。
实际问题 数学模型 计算方法 程序设计 计算结果 h h 第三,要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,他关系到算法能否在计算机上实现。 第四,要有数值试验,即任何一个算法除了从理论上要满足上述三点外,还要通过数值试验证明是行之有效的。 根据“数值分析”课程的特点,学习是我们首先要注意掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合,要重视误差分析、收敛性及稳定性的基本理论;其次,要通过例子,学习使用各种数值方法解决实际计算问题;最后,为了掌握本课的内容,还应作一定数量的理论分析与计算练习。由于本课内容包括了微积分、代数、常微分方程的数值方法,读者必须掌握这几门课的基本内容才能学好这门课。
2 数值计算的误差 2.1 误差来源与分类 我们算出数学模型的近似解和一个物理量的真的值往往不相等,它们之差称为误差。用电子计算机进行解决实际问题的数值计算,误差是不可避免的。引起数值结果中的误差的原因是多方面,通常来自固有误差和计算误差,如下面所示:
模型误差:用数学方法解决实际问题,首先必须建立该问题的数学模型。即把实际问题经过抽象,忽略一些次要的因素,简化成一个确定的数学问题。数学模型只是对实际问题的一种近似、一种粗糙的描述,因而它与实际问题或客观现象之间必然存在误差,这种误差称为“模型误差”。这样的误差常常是可以忽略不计的。例如在经典力学问题中,我们常常忽略相对论效应。但是,如果这种误差不可忽略,说明数学模型选择得不好。那么不论数值计算多么精确,其结果都将存在不可忽略的误差。 观测误差:数学问题中总包含一些参量(或物理量,如电压、电流、温度、长度等),它们的值(输入数据)往往是由观测得到的。而观测的误差是难以避免的,由此产生的误差称为“观测误差”。由于观测误差通常具有随机的性质,所以想用分析的方法来估计它们的影响常常是一件非常困难的事。由于固有误差的产生往往涉及各专业知识及实验手段,所以它不是数值分析所研究的内容。 截断误差:数值计算的本质就是用有限的过程、离散的数据来近似(刻画)无限的过程、连续的量。这样对一些具有连续量、无限计算量的数学问题的求解的过程中,我们不得不对一些连续的量进行有限的离散化近似,不得截去无限的计算过程,只进行有限次的计算。如求一个收敛的无穷级数之和,必须截去该级数后面的无穷多项,而用前面有限项的部分来近似代替,于是产生了有限
模型误差 观测误差 误差来源
计算误差
固有误差
截断误差 舍入误差 h
h 过程代替无限过程的误差,称为h
h “截断误差”,这是计算方法本身所出现的误差,所以也称为“方法误差”。例如 )!2()1(!6!421cos2642nxxxxxnn
,
当x很小时,可以用212x作为xcos近似值。由交错级数判敛的莱布尼兹(Leibniz)准则,它的截断误差的绝对值不超过244x。 有限过程代替无限过程的误差和计算量取决于其方法的收敛性及收敛速度。 舍入误差:计算中遇到的数据可能位数很多或是无穷小数,如,41421356.12受机器字
长的限制,无穷小数和位数很多的数必须舍入成一定的位数(机器字长)。舍入方法:a) 舍入机。采用四舍五入的办法,如将41421356.1舍为4142136.1;b) 截断机。采用截尾的办法。如2在八位字长的截断机里取成4142135.1。这样产生的误差称为“舍入误差”。少量的舍入误差是微不足道的,但在计算机是作了成千上万次运算后,舍入误差的累积有时可能是十分惊人的。它取决于方法的稳定性。如果方法能够累积大量的误差,此算法是不稳定的,反之为稳定算法。如算法1:
1nnnyay。显然是不稳定的;算法2:11nnynay,
研究计算结果的误差是否满足精度要求就是误差估计问题,本书主要讨论算法的截断误差与舍入误差,而截断误差将结合具体算法讨论。为分析数值运算的舍入误差,先要对误差基本概念做简单介绍。
2.2 绝对误差与相对误差 定义1 设x为准确值,*x为x的一个近似值,称**exx为近似值的绝对误差,简称误差。 注意这样定义的误差*e可正可负,当绝对误差为正时近似值偏大,叫强(赢)近似值;当绝对误差为负时近似值偏小,叫弱(亏)近似值。 通常我们不能算出准确值x,当然也不能算出误差*e的准确值,只能根据测量工具或计算情况估计出误差的绝对值不超过某正数*,也就是误差绝对值的一个上界。*叫做近似值的误差限,它总是正数。 一般情形**xx,即****xxx。这个不等式有时也表示为**xx。
我们把近似值的误差*e与准确值x的比值 **exxxx
称为近似值*x的相对误差,记作*re。 在实际计算中,由于真值x总是不知道的,通常取*****rexxexx作为*x的相对误差,条件是h
h **
*r
e
ex较小,此时
*****2**2*******()()(/)()1(/)eeexxeexxxxxxxeex
是*r的平方项级,故可忽略不计。
相对误差也可正可负,它的绝对值上界叫做相对误差限,记作*r,即***rx。
注1:1)绝对误差是有量纲的量,它与所研究问题的背景有关,因此我们不能单单从绝对误差值的大小来判断计算结果的精度,还必须考虑到实际问题的应用背景; 2)通过引入相对误差,我们可比较不同算法,不同应用问题的计算精度,这一点是无法通过比较绝对误差做到的,因为不同值的东西,在量上是无法比较的。正如我们不能通过比较两个商品的使用价值来判定商品的真贵,只能通过抽象的价值。
2.3 有效数字 有效数字是近似值的一种表示法,它既能表示近似值的大小,又能表示其精确程度。 定义2 若近似值*x的误差限是某一位的半个单位,该位到*x的第一位非零数字共有n位,则称近似值有n位有效数字。 在科学记数法中,将近似值*x写成规格化形式为 120.10mnxaaa (1-1)
其中m为整数,10,(1,2,)iaai为0到9之间的整数。按照定义2,近似值*x有n位有效数字当且仅当 nmxx1021* (1-2)
因此在m相同的情形下,n越大则误差越小,亦即一个近似值的有效位数越多其误差限越小。 例1 按四舍五入原则写出下列各数具有5位有效数字的近似数:187.9325,0.03785551,8.000033, 2.7182818。 按定义,上述各数具有5位有效数字的近似数分别是:187.93, 0.037856, 8.0000, 2.7183。 注意:8.000033x的5位有效数字的近似数是8.0000而不是8,因为8只有1位有效数字。 例2 重力常数g,如果以2/ms为单位,120.98010/gms;若以2/kms为单位,220.98010/gkms,它们都具有3位有效数字,因为按第一种写法
213119.80101022g,
按第二种写法 523110.00980101022g,
他们虽然写法不同,但都具有3位有效数字。至于绝对误差限,由于单位不同结果也不同,