计算数学第1章绪论内容提要:1.1数值分析研究对象与特点1.2数值计算的误差1.3误差定性分析与避免误差危害1.1数值分析研究对象与特点一、数值分析研究对象计算机解决科学计算问题时经历的过程2实际问题模型设计算法设计问题的解上机计算程序设计求方程求根22x牛顿法)2(211KKkxxx程序设计解上机计算,417.1,5.1,1310xxx实例数值分析的内容包括函数的数值逼近、数值微分与数值积分、非线性方程数值解、数值线性代数、常微和偏微数值解等。数值分析研究对象以及解决问题方法的广泛适用性,著名流行软件如Maple、Matlab、Mathematica等已将其绝大多数内容设计成函数,简单调用之后便可以得到运行结果。但由于实际问题的具体特征、复杂性,以及算法自身的适用范围决定了应用中必须选择、设计适合于自己特定问题的算法,因而掌握数值方法的思想和内容是至关重要的。本课程内容包括了微积分、代数、常微分方程的数值方法,必须掌握这几门课程的基础内容才能学好这门课程。二、数值分析的特点•面向计算机,要根据计算机的特点提供切实可行的有效算法。•有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析。这些都是建立在数学理论的基础上,因此不应片面的将数值分析理解为各种数值方法的简单罗列和堆积。•要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。•要有数值实验,即任何一个算法除了从理论上要满足上述三点外,还要通过数值实验证明是行之有效的。三、数值分析的学习方法初学可能仍会觉得公式多,理论分析复杂。给出如下的几点学习方法。•认识建立算法和对每个算法进行理论分析是基本任务,主动适应公式多和讲究理论分析的特点。•注重各章节所研究算法的提出,掌握方法的基本原理和思想,要注意方法处理的技巧及其与计算机的结合。•理解每个算法建立的数学背景、数学原理和基本线索,而且对一些最基本的算法要非常熟悉。•要通过例子,学习使用各种数值方法解决实际计算问题。•为掌握本课的内容,还应做一些理论分析和计算练习。1.2数值计算的误差一、误差的来源在运用数学方法解决实际问题的过程中,每一步都可能带来误差。1、模型误差在建立数学模型时,往往要忽视很多次要因素,把模型“简单化”,“理想化”,这时模型就与真实背景有了差距,即带入了误差。2、测量误差数学模型中的已知参数,多数是通过测量得到。而测量过程受工具、方法、观察者的主观因素、不可预料的随机干扰等影响必然带入误差。3、截断误差数学模型常难于直接求解,往往要近似替代,简化为易于求解的问题,这种简化带入误差称为方法误差或截断误差。。的截断误差是泰勒余项近似代替,则数值方法多项式用泰勒例如:函数nnnxnfxfxffxPxf!)0(!2)0(!1)0()0()()()(2(Taylor)4、舍入误差计算机只能处理有限数位的小数运算,初始参数或中间结果都必须进行四舍五入运算,这必然产生舍入误差。0000026.014159.314159.3R,产生的误差近似代替例如:用1xxxexxxe设为准确值,为的一个近似值,称为近似值的,简称误差,记定义绝对误差为。误差分析是一门比较艰深的专门学科。在数值分析中主要讨论截断误差及舍入误差。但一个训练有素的计算工作者,当发现计算结果与实际不符时,应当能诊断出误差的来源,并采取相应的措施加以改进,直至建议对模型进行修改。二、绝对误差、相对误差与有效数字1、绝对误差与绝对误差限误差是有量纲的量,量纲同x,它可正可负。误差一般无法准确计算,只能根据测量或计算情况估计出它的绝对值的一个上界,这个上界称为近似值x*的误差限,记为ε*。。则例如,有两个量工程中常表示为即对于一般情形1,1000;1,10,11000,110,yxyxyxxxxxxxx2、相对误差与相对误差限2rexexxxxxe近似值的误差与准确值的比值称定义相对误差为近似值的,记作。**,||||||||10%0.1%rrrryxxexxexxxxexxxyxyyyxx在计算中,由于真值总是不知道的,通常取。相对误差绝对值的上界,记作即上例中与分别为与的对误差限,可见近似的程度比近相似的对误差限程度好。3、有效数字定义3令x是某个数量的真值,x*是x的近似值;x与x*都用十进制表示。有效数字就是指x与x*的多少位数字是一致的。确切地说,x*有x的m位有效数字,则从x的左端非零数字所在位起,绝对误差x*的前m个十进制数位为0,随后一位数字取值从0到55187.93250.037855518.00000332.7182818下列数按四舍五入原则得到的位有效数字的近似数分别是?例如187.930.0378568.00002.7183解:1231.102156.4300.031xxx下列各数都是经过四舍五入原则得到的近似数指出它们有几个有效数字?再例123xxx解:五位五位二位4、绝对误差,相对误差与有效数字的关系绝对误差与相对误差:由两者定义可知。*||rreexx,1)1(1211021)1010(10nmnnmxxnaaaxx位有效数字,则具有表示为近似数绝对误差与有效数字:绝对误差不超过末位有效数字的半个单位。1(1)121(1)1(1)110(1010)(1,2,,)090,11012110()121mllinrnrxxaaaailamxnaxxan设近似数表示为其中是到中的一个数字,为整数。若具有位有效数字,则其相对误差限为()反之,若的相对误差限,定理则至少具有位有效数字。有效数字与相对误差限定理说明有效数位越多,相对误差限越小。定理也给出了相对误差限的求法。到的误差分别为加、减、乘、除运算得,它们进行及,其误差分别为与两个近似数)()(2*1*21xxxx2010.1%-1要使的近似值的相对误差限小于,至少要取几例位有效数字?三、数值运算的误差估计1、四则运算*1113311102204.4,4,4,0.12510100.1%2040.1%nrrnaan解:设取位有效数字,由定理,。由于知故只要取就有即只要对的近似值取位有效数字,其相对误差限就小于。121212122112211222()()();()()();()()()xxxxxxxxxxxxxxxxx2201-2530010,VVRI若电压,电阻求电流并计算其误差限及例相对误差限。**22200.7333()300()()()2201030050.0411()900000.73330.0411()0.0411()6%0.7333rVIARVRRVIRAIAI解:()所以=110m-0.2-0.1llllmddmsld已测得某场地长的值为,宽d=80m,已知,。试求面积的绝对误差限与相对误差限。例1-32()()()110(0.1)80(0.2)27()()()()270.31%8800rslddlmssssld解:由误差限乘法公式故2、函数误差当自变量有误差时计算函数值也产生误差,可以利用函数的泰勒展开式进行估计。2()()()(())()()()()()()2()()()()().fxxxfxfxfxffxfxfxxxfxfxxfxfxx设是一元函数,的近似值为,以近似,其误差界记作,可用泰勒展开并取绝对值得假定与的比值不太大,可忽略的高阶项,于是可得计算函数的误差限()()0ln1(ln),1(ln(x))()()1-4rxxxxxxxx设,的相对误差限为,求的误差限。解:有例即121212121121211212(,,),,,,((,,))()()((,,))()((,,))()(,,)(,,nnnnnkkknnkrrnkknnfxxxxxxxxxffxxxxxfxxxxffxxxxfxxxfxxx当,是多元函数,,的近似值为,,则误差限,,相对误差限,,,)=110m-0.2--0.1llllmddmsld已测得某场地长的值为,宽d=80m,已知,。试求面积的绝对误(差同例限与1。3误限)相对差例1-52,,,()()()80(0.2)110(0.1)27()()()27()0.31%8800rssslddlldsssldldmssslds解:因由误差限函数公式故210.12sgtgtsts设,假定是准确的,而对的测量有的误差,证明当增加时,的绝对误差增加,而相对误差却减少。例1-62210.1,()2()()0.1()0.10.2()1()2rtsgtsgttgtsgtsstgttt解:由题意知()绝对误差限相对误差限由于增加时,其近似值也增加,因此结论成立。1.3误差定性分析与避免误差危害一、病态问题与条件数1、病态问题:对一个数值问题本身如果输入数据有微小扰动(即误差),引起输出数据(即问题解)相对误差很大,就是病态问题。:(),()(),(),()(()()()())()()()()()ppfxxxxxxfxfxfxxfxfxfxfxxxxfxfxfxxCfxxfxC2、条件数计算函数值时若有扰动,其相对误差为函数值的相对误差为相对误差比值利用称为计算函数值问题的。条件数很大情况的问题就是条件数病态问题。n-1nxnx(),=.x10,(1)1,(1.02)1.24,1,1.022%24%10npppfxxCnnnffxxCC则有它表示相对误差可能放大倍。如有若取自变量相对误差为,函数相对误差为,这时问题可以认为是病态的。一般情况条件数就认为是病态,越大病态例如越严重。二、算法的稳定性用一个算法进行计算,由于初始数据误差在计算中传播使计算结果误差增长很快就是数值不稳定的,先看下例。110111100(0,1,)1(1,2,)-1nxnnxIexedxnInInIeedxe计算并估计误差。解:分部积分公式例17值不稳定的。)是数式(倍误差。它表明计算公的就是有误差这说明)(易得满足关系算的误差计算结果表明,各步计方法一分析:)(法一:时当初值取为An!,,!1),,2,1(),2,1(10.6321A0.63210n000n11n000EIEIEnEnnEEIIEnInIIIInnnnnnn199910011(+)=0.0684210100.0684B(9,8,,1)1(1)1,n!!nnnnnnneIIInIInEIIEEEEn当初值取为时法二:()方法二分析:计算结果表明,各步计算的误差满足关系易得这说明比缩小了倍。计算结果:n法一(A)法二(B)01234567890.63210.36790.26420.20740.17040.14800.11200.2160-0.72807.5520.63210