数值分析课件 第1章 绪论0.docx

上传人:b****5 文档编号:28497834 上传时间:2023-07-15 格式:DOCX 页数:15 大小:28.36KB
下载 相关 举报
数值分析课件 第1章 绪论0.docx_第1页
第1页 / 共15页
数值分析课件 第1章 绪论0.docx_第2页
第2页 / 共15页
数值分析课件 第1章 绪论0.docx_第3页
第3页 / 共15页
数值分析课件 第1章 绪论0.docx_第4页
第4页 / 共15页
数值分析课件 第1章 绪论0.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数值分析课件 第1章 绪论0.docx

《数值分析课件 第1章 绪论0.docx》由会员分享,可在线阅读,更多相关《数值分析课件 第1章 绪论0.docx(15页珍藏版)》请在冰豆网上搜索。

数值分析课件 第1章 绪论0.docx

数值分析课件第1章绪论0

数值分析课件第1章绪论

第一章绪论上世纪中叶诞生的计算机给科学、工程技术和人类的社会生活带来一场新的革命。

它使科学计算平行于理论分析和实验研究,成为人类探索未知科学领域和进行大型工程设计的第三种方法和手段。

在独创性工作的先行性研究中,科学计算更有突出的作用。

在今天,熟练地运用电子计算机进行科学计算,已成为科学工作者的一项基本技能。

然而,科学计算并不是计算机本身的自然产物,而是数学与计算机结合的结果,它的核心内容是以现代化的计算机及数学软件为工具,以数学模型为基础进行模拟研究。

近年来,它同时也成为数学科学本身发展的源泉和途径之一。

1数值分析的研究对象与特点数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。

一般地说,用计算机解决科学计算问题,首先需要针对实际问题提炼出相应的数学模型,然后为解决数学模型设计出数值计算方法,经过程序设计之后上机计算,求出数值结果,再由实验来检验。

概括为由实际问题的提出到上机求得问题的解答的整个过程都可看作是应用数学的任务。

如果细分的话,由实际问题应用有关科学知识和数学理论建立数学模型这一过程,通常作为应用数学的任务,而根据数学模型提出求解的数值计算方法直到编出程序上机计算出结果,这一过程则是计算数学的任务,即数值分析研究的对象。

因此,数值分析是寻求数学问题近似解的方法、过程及其理论的一个数学分支。

它以纯数学作为基础,但却不完全像纯数学那样只研究数学本身的理论,而是着重研究数学问题求解的数值方法及与此有关的理论,包括方法的收敛性,稳定性及误差分析;还要根据计算机的特点研究计算时间最省(或计算费用最省)的计算方法。

有的方法在理论上虽然还不够完善与严密,但通过对比分析,实际计算和实践检验等手段,被证明是行之有效的方法也可采用。

因此数值分析既有纯数学高度抽象性与严实际问题数学模型计算方法程序设计计算结果密科学性的特点,又有应用的广泛性与实际试验的高度技术性的特点,是一门与使用计算机密切结合的实用性很强的数学课程。

在电子计算机成为数值计算机的主要工具以后,则要求研究适合计算机使用的,满足精确要求,计算时间省的有效算法及其相关的理论。

在实现这些算法时往往还要根据计算机的容量、字长、速度等指标,研究具体的求解步骤和程序设计技巧。

有的方法在理论上虽还不够严格,但通过实际计算、对比分析等手段,证明是行之有效的方法,也应采用。

这些就是数值分析具有的特点,概括起来有四点:

第一,面向计算机,要根据计算机特点提供切实可行的有效算法。

即算法只能包括加、减、乘、除运算和逻辑运算,这些运算是计算机能直接处理的运算。

.第二,有可靠的理论分析,能任意逼近并达到精确要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析。

这些都建立在相应数学理论的基础上。

第三,要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,他关系到算法能否在计算机上实现。

第四,要有数值试验,即任何一个算法除了从理论上要满足上述三点外,还要通过数值试验证明是行之有效的。

根据数值分析课程的特点,学习是我们首先要注意掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合,要重视误差分析、收敛性及稳定性的基本理论;其次,要通过例子,学习使用各种数值方法解决实际计算问题;最后,为了掌握本课的内容,还应作一定数量的理论分析与计算练习。

由于本课内容包括了微积分、代数、常微分方程的数值方法,读者必须掌握这几门课的基本内容才能学好这门课。

2数值计算的误差2.1误差来源与分类我们算出数学模型的近似解和一个物理量的真的值往往不相等,它们之差称为误差。

用电子计算机进行解决实际问题的数值计算,误差是不可避免的。

引起数值结果中的误差的原因是多方面,通常来自固有误差和计算误差,如下面所示:

模型误差:

用数学方法解决实际问题,首先必须建立该问题的数学模型。

即把实际问题经过抽象,忽略一些次要的因素,简化成一个确定的数学问题。

数学模型只是对实际问题的一种近似、一种粗糙的描述,因而它与实际问题或客观现象之间必然存在误差,这种误差称为模型误差。

这样的误差常常是可以忽略不计的。

例如在经典力学问题中,我们常常忽略相对论效应。

但是,如果这种误差不可忽略,说明数学模型选择得不好。

那么不论数值计算多么精确,其结果都将存在不可忽略的误差。

观测误差:

数学问题中总包含一些参量(或物理量,如电压、电流、温度、长度等),它们的值(输入数据)往往是由观测得到的。

而模型误差观测误差误差来源计算误差固有误差截断误差舍入误差观测的误差是难以避免的,由此产生的误差称为观测误差。

由于观测误差通常具有随机的性质,所以想用分析的方法来估计它们的影响常常是一件非常困难的事。

由于固有误差的产生往往涉及各专业知识及实验手段,所以它不是数值分析所研究的内容。

截断误差:

数值计算的本质就是用有限的过程、离散的数据来近似(刻画)无限的过程、连续的量。

这样对一些具有连续量、无限计算量的数学问题的求解的过程中,我们不得不对一些连续的量进行有限的离散化近似,不得截去无限的计算过程,只进行有限次的计算。

如求一个收敛的无穷级数之和,必须截去该级数后面的无穷多项,而用前面有限项的部分来近似代替,于是产生了有限过程代替无限过程的误差,称为截断误差,这是计算方法本身所出现的误差,所以也称为方法误差。

例如246cos124!

6!

2

(1)

(2)!

nnnxxxxx=++++,当x很小时,可以用212x作为cosx近似值。

由交错级数判敛的莱布尼兹(Leibniz)准则,它的截断误差的绝对值不超过424x。

有限过程代替无限过程的误差和计算量取决于其方法的收敛性及收敛速度。

舍入误差:

计算中遇到的数据可能位数很多或是无穷小数,如21.41421356=长的限制,无穷小数和位数很多的数必须舍入成一定的位数(机器字长)。

舍入方法:

a)舍入机。

采用四舍五入的办法,如将1.41421356舍为1.4142136;b)截断机。

采用截尾的办法。

如2在八位字长的截断机里取成1.4142135。

这样产生的误差称为舍入误差。

少量的舍入误差是微不足道的,但在计算机是作了成千上万次运算后,舍入误差的累积有时可能是十分惊人的。

它取决于方法的稳定性。

如果方法能够累积大量的误差,此算法是不稳定的,反之为稳定算法。

如算法1:

受机器字1nnyany=+。

显然是不稳定的;算法2:

11nnyayn=+,研究计算结果的误差是否满足精度要求就是误差估计问题,本书主要讨论算法的截断误差与舍入误差,而截断误差将结合具体算法讨论。

为分析数值运算的舍入误差,先要对误差基本概念做简单介绍。

2.2绝对误差与相对误差定义1设x为准确值,称exx=为近似值的绝对误差,简称误差。

注意这样定义的误差差为正时近似值偏大,叫强(赢)近似值;当绝对误差为负时近似值偏小,叫弱(亏)近似值。

通常我们不能算出准确值x,当然也不能算出误差情况估计出误差的绝对值不超过某正数就是误差绝对值的一个上界。

误差限,它总是正数。

一般情形xx,即*x为x的一个近似值,***e可正可负,当绝对误*e的准确值,只能根据测量工具或计算*,也*叫做近似值的******xxx*x+。

这个不等式有时也表示为我们把近似值的误差*x=。

*e与准确值x的比值*xx*exx=称为近似值*x的相对误差,记作*re。

在实际计算中,由于真值x总是不知道的,*****rexx***rex****()eeexx==通常取exx==作为*x的相对误差,条件是e=较小,此时*2**2)*******()e(/()1(/)exxxxxxxeex=是*r的平方项级,故可忽略不计。

相对误差也可正可负,它的绝对值上界叫做相对误差限,记作*r,即**r*x=。

注1:

1)绝对误差是有量纲的量,它与所研究问题的背景有关,因此我们不能单单从绝对误差值的大小来判断计算结果的精度,还必须考虑到实际问题的应用背景;2)通过引入相对误差,我们可比较不同算法,不同应用问题的计算精度,这一点是无法通过比较绝对误差做到的,因为不同值的东西,在量上是无法比较的。

正如我们不能通过比较两个商品的使用价值来判定商品的真贵,只能通过抽象的价值。

2.3有效数字有效数字是近似值的一种表示法,它既能表示近似值的大小,又能表示其精确程度。

定义2若近似值个单位,该位到则称近似值有n位有效数字。

在科学记数法中,将近似值式为0.xaa=其中m为整数,10,aai间的整数。

按照定义2,近似值字当且仅当1xx*x的误差限是某一位的半*x的第一位非零数字共有n位,*x写成规格化形1210m为0到9之*x有n位有效数na(1-1)(1,2,)i=*102mn(1-2)因此在m相同的情形下,n越大则误差越小,亦即一个近似值的有效位数越多其误差限越小。

例1按四舍五入原则写出下列各数具有5位有效数字的近似数:

187.9325,0.03785551,8.000033,2.7182818。

按定义,上述各数具有5位有效数字的近似数分别是187.93,0.037856,8.0000,2.71838.000033x=的5位有效数字的近似数是8.0000而不是8,因为8只有1位有效数字。

例2重力常数g,如果以120.98010/gms;若以220.98010/gkms,它们都具有3位有效数字,因为按第一种写法19.80102按第二种写法10.00980102他们虽然写法不同,但都具有3位有效数字。

至于绝对误差限,由于单位不同结果也不同,1110/,22差都是0.005/9.80=例2说明有效位数与小数点后有多少位数有关。

然而,从(2-2)可以得到具有n位有效数注意2/ms为单位,2/kms为单位,2131102g=,5231102g=,*122*25210/mskms==,而相对误*0.000005/0.00980r=。

字的近似数*x,其绝对误差限为*1102mn=,在m相同的情况下,n越大则10mn效位数越多,绝对误差限越小。

越小,故有关于一个近似数的有效位数与其相对误差的关系,有下面的定理定理1.1设近似数

(1)若为1ra

(2)如果1ra+则证明由(1-1)可得到1*110ax*x有n位有效数字时*0.510rax*x具有规格化形式(1-1),*x具有n位有效数字,则其相对误差限*11102n+(1-3)*11102

(1)n+(1-4)*x至少具有n位有效数字。

11

(1)10mma+当*11*11110102mnnmxxa+==即证

(1)。

反之,由1***r11110

(1)102

(1)1102nmmnxxxaa+=++=即说明定理说明,有效位数越多,相对误差限越少。

例3要使20的近似值的相对误差限小于0.1%,要取几位有效数字?

设取n位有效数字,1102a4n=,就有*30.12510即只要对20的近似值取4位有效数字,其相对误差就小于0.1%。

此时由开方表得204.472。

3数值计算中误差的传播*x具有n位有效数字,

(2)得证。

由定理1.1,*r11n+。

由于204.4=,知14a=,故只要取310r0.1%=3.1基本运算中的误差估计数值运算中误差传播情况比较复杂,估计起来比较困难。

本节所讨论的运算是四则运算与一些常用函数的计算。

由微分学,当自变量改变(误差)很小时,函数的微分作为函数的改变量的主要线性部分可以近似函数的改变量,故可以利用微分运算公式可导出误差运算公式。

设数值计算中求得的解与参量(原始数据),,,nxxx有关,记为(,yfxx=参量的误差必然引起解的误差。

设的近似值分别为12,,xx**1(yfxx=假设f在点12(,,,xxx较小时,解的绝对误差为***()eyyy==1212,,)nx12,,,nxxx***n,x*2,相应的解为*,)nx,*n,**)可微,则当数据误差*1*2*n12*1*2*n*1*2*n*i1*1*2*n**i1(,,,)(,fxx,,)(,,,)(,,,)()(,,,)()nniiiniifxxxxdfxxxfxxxxxxfxxxexx====(1-5)其相对误差为***r***1*2*n**i*1*2*n1*1*2*n*i*r*i*1*2*n1()()(ln)(,,,)()(,,,)(,,,)()(,,,)niiniieyeydfyfxxxexxfxxxfxxxxexxfxxx=====(1-6)注2:

函数值的绝对误差等于函数的全微分,自变量的微分即为自变量的误差;函数值的相对误差等于函数的对数的全微分。

将式(1-5)及(1-6)中的差限和特别地,由式(1-5)及(1-6)可得和、差、积、商之误差及相对误差公式==*()e和*()re分别换成误r,求和的各项变成绝对值。

12121221xe12xe11221222()()1()exxeeexxxxeeexxx=+(1-7)121212121212121122()()()rrrrrrrrrxxexxeexxxxexxeexeeex==+=(1-8)由以上的式(1-7)及(1-8)可得出(exx121212121212112122)()()rrrrrrrrrreeeeexxeeeexeeeeex=+=++=+(1-9)因此,和、差的误差限不超过各数的误差限之和,积、商的相对误差限不超过各数的相对误差限之和。

例4设yx=,求y的相对误差与x的相对误差之间的关系。

解由式(1-9)得()(ln)reydx==所以地,x的相对误差是x的相对误差的一半。

例5设0x,x的相对误差为,求lnx的绝对误差。

n(ln)()nrndxnex=nx的相对误差是x的相对误差的n倍,特别解由于()ex()rexx==,即()exx=,所以()ex(ln)(ln)()rexdxexx===例6已测得某场地长为l的值为d的值为d=*||0.1ddm,试求面积s相对误差。

ssldlssl**()80,(dl()于是绝对误差限()相对误差限()*|s3.2误差定性分析*100,|0.2lmm=宽,*80,m已知*|ll的绝对误差与ld=解因,,,sdld===由(1-5)知()s()m()*****||||,sldd+其中**)110smlmd====,而()**0.2,0.1,ldm==()()()2*800.21100.127sm+=()*****()s270.31%|8800rssld===数值运算中的误差分析是一个很重要而复杂的问题,上节讨论了不精确数据运算结果的误差限,他只适用于简单情形,然而一个工程或科学计算问题往往要运算千万次,由于每步运算都有误差,如果每步都做误差分析是不可能的,也不科学,因为误差积累有正有负,绝对值有大有小,都按最坏情况估计误差限得到的结果比实际误差大得多,这种保守的误差估计不反映实际误差积累。

考虑到误差分布的随机性,有人用概率统计方法,将数据和运算中的舍入误差视为适合某种分布的随机变量,然后确定计算结果的误差分布,这样得到的误差估计更能接近实际,这种方法称为概率分析法。

20世纪60年代以后对舍入误差分析提出了一些新的方法,较重要的有以下两种:

1.向后误差分析法是把新算出的量由某个公式表达,它仅含基本的算术运算,如假定1,,naa是前面已算出的量或原始数据,新算出量(xga=,,若1)naia的摄动为i,使得由浮点运算得出结果为11(,,).flnnxgaa=++则可根据xxi的界由摄动理论估计最后舍入误差的界,威克逊(Wilkinson)将这种方法fl应用于数值代数(矩阵运算)的误差分析,取得较好的效果。

2.区间分析法是把参加运算的数,,,看成区间量,,,XYZ根据区间运算规则求得最后结果的近似值及误差限。

例如,似数为,,由于x[,],xXy+=若计算*zxy=(*为运算符号),由[,][,]zzzzzz=+,则z为所求近似值,而z则为误差限。

上面简略介绍了误差分析的几种方法,但都不是十分有效的,目前尚无有效的方法对误差作出定量估计。

为了确保数值计算结果的正确性,首先需对数值计算问题作出定性分析,为此本节讨论以下三个问题。

3.3病态问题与条件数对一个数值问题本身如果输入数据又微小扰动(即误差),导致输出数据(即问题解)xyz都,xy的近]+*XY=,,y[,则Y=,=Z相对误差很大,这就是病态问题,例如计算函数值()fx时,若x有扰动x∆,函数值fx*xxx∆=,其相对误差为xfx*()的相对误差为*()fx()()fx。

相对误差比值*()fx()()()fx()fxpfxxxfxCx∆=(1-10)pC称为计算函数值问题的条件数。

自变量相对误差一般不会太大,如果条件数pC很大,将引起函数值相对误差很大,出现这种情况的问题就是病态问题。

例如,()fxx=则有差可能放大n倍。

如(1.02)1.24f,若取x=误差为2%,函数值相对误差为24%,这是问题可以认为是病态的。

一般情况条件数C越大病态越严重。

npCn=,他表示相对误10n=,有*1,1.02x=自变量相对

(1)1f=,10pC就认为是病态的,p其他计算问题也要分析是否病态。

例如解线性方程组,如果输入数据有微小误差引起解的巨大误差,就认为是病态方程组,我们将在第5章用矩阵的条件数来分析这种现象。

3.4算法的数值稳定性数值运算的误差分析是个很重要而复杂的问题,对于一个工程或科学计算问题往往要运算千万次,由于几乎每一步运算都会产生误差,如果每步都做误差分析是不可能的,也不科学,因为误差累积有正有负,绝对值有大有小,很可能有一部分相互抵消。

如果每一步都按最坏情况估计误差不反映实际情况。

近年来,虽然发展起来一些新的误差估计办法,如概论统计法,事后误差估计法及区间分析法等等。

但这些方法目前也仅仅在特定的一些问题上取得了较为满意的结果,还正在发展中。

对于计算步骤较多的算法,一般不宜采用上述的一些定量估计的办法。

而是采用定性分析的办法,即讨论算法的数值稳定性。

定义3一个算法如果输入数据有误差,而在计算过程中舍入误差得到控制,则称此算法是数值稳定的,否则称此算法是不稳定的。

在一种算法中,如果某一步有了绝对值为的误差,而以后各步计算都准确地进行,仅由所引起的误差的绝对值,始终不超过,就说算法是稳定的。

对于数值稳定性的算法,不用做具体的误差估计,就认为其结果是可靠的。

而数值不稳定的算法尽量不要使用。

1nIe=计误差。

由分部积分可得计算1nnInI==若计算出值。

要算出展开部分和

(1)1

(1)2!

并取7k=,用4位小数计算,则得e=例7计算10(0,1,)nxxedxn=并估nI的递推公式(1,2,n=111100)1.xIeedxe=(1-11)0I,代入(1-11),可逐次求出12,,II的0I就要先计算1e,若用泰勒多项式21

(1)!

keke1++++,10.3679,截断误差14710.3679108!

4R。

计算过程中小数点后第5位的数字按四舍五入原则舍入,由此产生的舍入误差这里先不讨论。

当初始值取为00.6321I=时,用(1-11)递推的计算公式为0I(A)010.6321;1nnIInI==(1,2,)n=。

计算结果见表1-1的误差00EI=结果是有影响的。

nI列。

用0I近似0I产生的0I就是初始误差,它对后面计算表1-1nnI*InnI*I(用(A)算)(用(B)算)(用(A)算)(用(B)算)012340.63210.36790.26420.20740.17040.63210.36790.26430.20730.1708567890.14800.11200.2160-0.72807.5520.14550.12680.11210.10350.0684从表中可以看到矛盾。

实际上,有积分估值得11een+8I出现负值,这与一切0nI相100111001(min)11(max)1xnnxxnxexdxIeexdxn==+(1-12)因此,当n较大时,用的。

这里的计算公式与每步计算都是正确的,那么是什么原因使计算结果错误呢?

主要就nI近似nI显然是不正确是初值步计算的误差0I有误差000E=II=II(,由此引起以后各满足关系1,2,)n=nnnE=1nnEnE容易推得0

(1)E导致第n步的误差扩大!

n!

nnEnE=,由此看出:

误差倍,当n较大时,误差将淹没真值,因此用似0nI近nI显然是不正确的,这种递推公式不宜采用。

1E=例如,8n=,若40102,则808!

2EE=这就说明是数值不稳定的。

现在换一种计算方法。

由(1-12)取e8I完全不能近似8I了。

它表明公式(A)9n=,有1911010I我们粗略取19911()0.068421010eII+==,然后将公式(1-11)倒过来算,即由公式为*9I算出*8*7*0,,,III(B)*9*n*n10.06841(1n)III==(9,8,,1);n=计算结

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1