大连大学院士创业园赵晓东2020年1月28日11时5分1第1章数值分析与科学计算引论大连大学院士创业园赵晓东2020年1月28日11时5分21.1数值分析的对象、作用与特点什么是数值分析(NumericalAnalysis)?数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。实际问题→数学模型→数值计算方法→程序设计→上机计算求出结果大连大学院士创业园赵晓东2020年1月28日11时5分3数值分析的基本内容计算机只能进行加减乘除四则运算和一些简单的函数计算(即使是函数也是通过数值分析方法处理,转化为四则运算而形成了的一个小型论软件包)。数值代数:求解线性和非线性方程的解法插值和数值逼近数值微分和数值积分常微方程数值解法和偏微方程数值解法大连大学院士创业园赵晓东2020年1月28日11时5分4数值分析的特点面向计算机,要根据计算机的特点提供切实可行的有效算法有可靠的理论分析,能任意逼近并达到精度要求。要有良好的计算复杂性,时间复杂性和空间复杂性。要有数值实验,即任何一个算法除从理论上要满足上述三点外,还要通过数值试验证明是行之有效的。大连大学院士创业园赵晓东2020年1月28日11时5分5例:求解一个20阶线性方程组,用加减消元法需3000次乘法运算;而用克莱姆(Cramer)法则要进行9.7*1020次运算,若用每秒亿次乘法运算的计算机要30万年。,(1,2,,)iixinAA大连大学院士创业园赵晓东2020年1月28日11时5分6例:一元二次方程x2-(109+1)x+109=0其精确解为X1=109,X2=1。如用求根公式21,242bbacxa21891894104101010bac和字长为8位的计算器求解,有与精确解有天壤之别。9910110x99911010102x992101002,大连大学院士创业园赵晓东2020年1月28日11时5分72222299924=4=44222210110104bbacbbacbbacbbacxaacbbac++若因此,算法的选用很重要。大连大学院士创业园赵晓东2020年1月28日11时5分81.2数值计算的误差(Error)误差来源与分类模型误差观测误差截断误差(TruncationError)舍入误差(Round-offError)大连大学院士创业园赵晓东2020年1月28日11时5分9•用数学方法解决一个具体的实际问题,首先要建立数学模型,这就要对实际问题进行抽象、简化,因而数学模型本身总含有误差,这种误差叫做模型误差•数学模型是指那些利用数学语言模拟现实而建立起来的有关量的描述•数学模型的准确解与实际问题的真解不同实际问题的真解数学模型的真解为减化模型忽略次要因素定理在特定条件下建立与实际条件有别模型误差大连大学院士创业园赵晓东2020年1月28日11时5分10•在数学模型中通常包含各种各样的参变量,如温度、长度、电压等,这些参数往往是通过观测得到的,因此也带来了误差,这种误差叫观测误差•数学模型中的参数和原始数据,是由观测和试验得到的•由于测量工具的精度、观测方法或客观条件的限制,使数据含有测量误差,这类误差叫做观测误差或数据误差•根据实际情况可以得到误差上下界•数值方法中需要了解观测误差,以便选择合理的数值方法与之适应观测误差大连大学院士创业园赵晓东2020年1月28日11时5分11•精确公式用近似公式代替时,所产生的误差叫截断误差例如,函数f(x)用泰勒(Taylor)多项式截断误差nnnxnfxfxffxp!)0(!2)0(!1)0()0()()(21)1()!1()()()()(nnnnxnfxpxfxR(介于0与x之间)近似代替,则数值方法的截断误差是截断误差的大小直接影响计算结果的精度和计算工作量,是数值计算中必须考虑的一类误差大连大学院士创业园赵晓东2020年1月28日11时5分12•在数值计算中只能对有限位字长的数值进行运算•需要对参数、中间结果、最终结果作有限位字长的处理工作,这种处理工作称作舍入处理•用有限位数字代替精确数,这种误差叫做舍入误差,是数值计算中必须考虑的一类误差舍入误差大连大学院士创业园赵晓东2020年1月28日11时5分13误差与有效数字(Significantdigits/figures)定义1绝对误差absoluteerror,简称误差:.*,**的近似值为准确值其中xxxxe误差限:.|*|*的一个上界e相对误差relativeerror:,**xeer相对误差限:.||**的一个上界rre.***xeer或5.0765x例如,毫米尺5.10001,10yx例如,0.5%.||%,10||**yxyx大连大学院士创业园赵晓东2020年1月28日11时5分14.000008.0,1416.3,002.0,14.3,1415926.3*5*5*3*3xxx取五位取三位定义2.**,*有效数字位有位,就说的第一位非零数字共有到该位的半个单位的误差限是某一位数字若近似值nxnxx例142.195,0.0375551,8.00033,2.71828,按四舍五入写出上述各数具有四位有效数字的近似数.(2.2)1021*.0(2.1))1010(10*11)1(121nmnnmxxaaaax并且其中即大连大学院士创业园赵晓东2020年1月28日11时5分15例2考察三位有效数字重力加速度g,若以m/s2为单位,g≈9.80m/s2,若以km/s2为单位,g≈0.00980km/s2,,102180.9g23.0,)1.2(nm,按,102100980.0g53.,3)1.2(nm,按.10212*1绝对误差限.10215*2绝对误差限.0.00980/0.0000050.005/9.80*r而相对误差限相同:11021*nm大连大学院士创业园赵晓东2020年1月28日11时5分1630410.00009260.5100.510xx解1:若取近似值x*=3.1415,绝对误差是0.0000926…,有,即m=0,n=4,故近似值x*=3.1415只有4位有效数字.解2:x*=3.1415的绝对误差限0.0005,它是x的小数后第3位的半个单位,故近似值x*=3.1415准确到小数点后第3位.故近似值x*=3.1415只有4位有效数字例3设x==3.1415926…,求x*=3.1415近似值的有效数字大连大学院士创业园赵晓东2020年1月28日11时5分171(1)121*(1)1**10(1010)(2.1)0.*1102mnnnrxxaaaaxna设近似数表示为其中若具有位有效数字,则其相对误差限为;定理1*(1)11*10*2(1).nrxxan反之,若的相对误差限为,则至少具有位有效数字200.1%要使的相对误差限小于,要取几位有效数字?例4111102na1*111204.4,41100.125100.1%42nnrana只要取解:设取n位有效数字,相对误差限*r=,大连大学院士创业园赵晓东2020年1月28日11时5分18131100.00252216110=0.0000005629例5指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:-0.002009000.00解因为x1*=-0.00200,m=-3绝对误差限0.000005=因为m=-3,n=3,x1*=-0.00200有3位有效数字.a1=2,相对误差限r=x2*=9000.00,绝对误差限0.005,因为m=3,n=6,x2*=9000.00有6位有效数字,相对误差限为r=如果认为小数点后边的0无用,将9000.00随便写作9000=9×103,那么它的绝对误差就是=0.5=0.5×103-4+1,即m=3,n=4,表明这个数有4位有效数字.可见,小数点之后的0,不是可有可无的,它是有实际意义的.533110.5100.5100.510mn大连大学院士创业园赵晓东2020年1月28日11时5分19数值运算的误差估计**1212,,,xxxx四则运算,设为准确值为近似值,则:误差限.||)(||)(||)/(),(||)(||)(),()()(2*2*1*2*2*1*2*1*1*2*2*1*2*1*2*1*2*1xxxxxxxxxxxxxxxxx,*,,*)(*)*)((*)()(,*,)(22)(之间在公式由为近似值为准确值,一元函数xxxxxxxfxfxfTaylorxxxff*).(|*)(|*))((*)(xxfxfxf的误差限得大连大学院士创业园赵晓东2020年1月28日11时5分20).(*)(),,(,,,,,),,(*1***11**11knkknnnnxxffxxfxxxxxxf的误差限同理得的近似值为准确值,多元函数**(8)(*)(*)(*).sldsssldld场地面积:书上第页例6大连大学院士创业园赵晓东2020年1月28日11时5分21大连大学院士创业园赵晓东2020年1月28日11时5分22ABC*(1000.10),*(1200.10),*(600.02),ABCSobmcmA例设观测数据为试估计面积的绝对误差限和相对误差限。大连大学院士创业园赵晓东2020年1月28日11时5分2321sin2()()()()11sin0.1sin0.1221cos0.0210.572180SbcASSSSbcAbcAcAbAbcAm解由则3()10.57|()|||2.035101sin2rsssbcA大连大学院士创业园赵晓东2020年1月28日11时5分24误差分析简介向后误差分析法区间分析法概率分析法1.3误差定性分析、避免误差危害).,,(),,(111nnflnaagxaagx,xyyx],,[],,[大连大学院士创业园赵晓东2020年1月28日11时5分25算法的数值稳定性考虑初始数据误差在计算中的传播问题.110d,0,1,,.nxnIexexn计算并估计误差例,,2,1,11nnIInn.,2,1,1,6321.0)(10nInIIAnn.110eI.1,,8,9),1(,0684.0)(*1*1*9nIIIBnnn)0684.0)10101(21(19eI方案(A)不稳定,方案(B)稳定大连大学院士创业园赵晓东2020年1月28日11时5分26•设计算法时应遵循的原则–要有数值要稳定性,即能控制误差的传播.–避免大数吃小数,即两数相加时,防止较小的数加不到较大的数上.–避免两相近的数相减,以免有效数字的大量丢失.–避免分母很小(或乘法因子很大),以免产生溢出.大连大学院士创业园赵晓东2020年1月28日11时5分27避免误差危害的若干原则除了分清问题是否病态和算法是否数值稳定外,还要考虑避免误差危害和防止有效数字损失的如下原则:1.避免‘大数’除以‘小数’例仿计算机,采用3位十进制,用消元法求解方程组51.00101.001.001.001.002.00xyxy)1000.10