计算机数值方法第一章引论延安大学数学与计算机科学学院计算机数值方法第一章引论本章要点:研究对象、内容及方法数值计算的误差数值方法的稳定性第一章引论计算机数值方法第一章引论一、数值方法的概念、地位和特点§1数值方法的研究对象数值方法是研究各种数学问题的数值方法的设计、分析、有关的数学理论和具体实现的一门学科。实际上就是用计算机解决数学问题的计算方法及其理论。1.数值方法的概念计算机数值方法第一章引论科学计算的核心内容是以现代化的计算机及数学软件为工具,以数学模型为基础进行模拟研究。现代科学的三个组成部分:科学理论,科学实验,科学计算2.数值方法的地位计算机数值方法第一章引论实际问题建立数学模型设计数值算法程序设计上机执行算法及结果分析3.实际问题的求解过程与步骤数学建模数值分析计算机数值方法第一章引论数值算法指有步骤地解数值问题的方法与过程。数值算法的特点:1.确定性算法必须有明确的目的,其条件和结论均应有清楚的规定,对算法的每一步都必须有精确的定义2.可行性算法中的每一步操作都是可执行的3.有限性算法必须在有限步内能够完成解题过程4.数值算法及其特点4.输入性算法必须要有条件数据的输入5.输出性算法必须要有结果数据的输出计算机数值方法第一章引论二、数值方法的研究内容和研究方法插值问题线性代数方程组的数值解法非线性方程组的数值解法数值积分与数值微分常微分方程的数值解法函数逼近代数特征值问题1.研究内容计算机数值方法第一章引论直接法:从问题本身入手;有限步骤完成;理论上得到精确解。2.研究方法间接法:首先将问题转换;有限步骤不能完成;只能得到近似解。计算机数值方法第一章引论误差及其传播稳定性收敛性时间复杂性空间复杂性3.算法评价标准计算机数值方法第一章引论§2数值计算的误差计算机解决数值计算问题时,主要有以下几个环节:数值分析输入问题及其条件:......),(,)(,,ln,,xfdxddxxfbxAxaxbax计算机近似解计算机数值方法第一章引论一、误差的来源与分类数值结果是指在选择某种数值方法之后,编制程序正确,输入初始数据正确的情形下所获得的结果。实际问题的精确解与用计算机计算出来的数值结果之间就有差异,这种差异在数学上称为误差。计算机数值方法第一章引论模型误差——从实际问题中抽象出数学模型时产生的误差观测误差——数学模型中参数的测量值导致输入数据的误差截断误差——近似求解时产生的误差舍入误差——由于计算机字长限制在数值运算中产生的误差1.误差来源计算机数值方法第一章引论二、误差与误差限1.绝对误差、绝对误差限*,,xxx设为准确值为的一个近似值称义定1.xxxE**)(*,,xE为近似值的绝对误差简称误差简记为**(),Exxx通常只能知道绝对值的某个上界即)(|||)(|***xxxxE**()xx数值称为的绝对误差限或误差限,简记为计算机数值方法第一章引论2.相对误差、相对误差限*,,xxx设为准确值为的一个近似值称义定2.xxxxxExEr***)()(*,rxE为近似值的相对误差简记为rrrxxxxxE)()(***的相对误差限为近似值*x计算机数值方法第一章引论例1..,28718.2,82281718.2***reee和相对误差限的绝对误差限求其近似值为已知解:eeE*绝对误差82001000.082001000.0||E002000.061026102||**er28718.2102628718.2102661071.0是唯一的并不和*r计算机数值方法第一章引论例2..,7,5,3求绝对误差限位数的近似值经四舍五入取小数点后若解:65592141.359141.3*142.3*7592141.3*||*407000.065002000.005000000.03105.05105.07105.0可见,经四舍五入取近似值,其绝对误差限将不超过其末位数字的半个单位计算机数值方法第一章引论用科学计数法记(其中).若(即的截取按四舍五入规则),则称具有n位有效数字,精确到位。12100kAnx.aaa01a||0510knAxx.naAx10kn3141592653589793231416.;*.例:问:有几位有效数字?请证明你的结论.*14150314161005100510π*.,|ππ|..*证明:有5位有效数字,精确到小数点后第4位。注:0.2300有4位有效数字,而0.0023只有2位有效。12300如果写成0.123105,则表示只有3位有效数字.数字末尾的0不可随意省去!三、有效数字计算机数值方法第一章引论例:设x1=1.73,x2=1.7321,x3=1.7320是其近似值,问它们分别有几位有效数字?...7320508.13x211130.0021102ex解:422130.00005102ex3331021000051.03xe3位5位4位1210.100,0,1,...,9)pnixaaanxna若近似值的绝对误差限不超过第位的半个单位,则数有位有效数字.(a结论:计算机数值方法第一章引论有效数字相对误差限12111051010*010201102knnrknnε*.εx*.aaa.aa已知x*有n位有效数字,则其相对误差限为四、有效数字与误差的关系计算机数值方法第一章引论相对误差限有效数字110121*narε已知x*的相对误差限可写为则可见x*至少有n位有效数字。kaaanxrxx1021.012110***nkkaan105.0110112110练习:要使得的相对误差不超过0.1%,应至少取几位有效数字?20计算机数值方法第一章引论§3数值稳定性与避免误差危害一、病态问题与条件数条件数很大时,初始数据的微小误差可能引起结果的很大误差.对数学问题而言,如果输入数据有微小扰动,引起输出数据(即数学问题的解)有很大扰动,则称数学问题是病态问题,否则称为良态问题。计算机数值方法第一章引论28)33(,34.0|333100|||fx变化不大2100()11503fxxxx求在例:处的值10050()5.639f解:,33,xxxx有误差若却很大的误差而4.22|6.528||)()(|)3100(xfxxff计算机数值方法第一章引论dxxxxnn10155?100,1,,85nnxnydxx时,求积分的近似值。例115nnyy解:0y,516.0541,083.0531,05.0521,09.05134231201yyyyyyyyn1.511nnyny)3(182.0位留保.51511nnyny改用:;017.0)1(9109yyy选初值:020.00)2(910yy,025.05351,021.05401,019.05451768798yyyyyy5ln6ln510xdx原因——误差的传播与积累,043.05201,034.05251,028.05301435465yyyyyy,182.0551,088.05101,058.05151102132yyyyyy二、数值方法的稳定性计算机数值方法第一章引论在我们今后的讨论中,误差将不可回避,算法的稳定性会是一个非常重要的话题。定义:一个算法如果输入数据有扰动(即有误差),而计算过程中舍入误差不增长,则称此算法是数值稳定的,否则称此算法为不稳定的。计算机数值方法第一章引论1、避免两相近的数相减a1=0.12345,a2=0.12346,(5位有效数字),而a2a1=0.00001,(1位有效数字)。三、数值算法应遵循的原则几种经验性避免方法:;xεxεxεx;1lnlnlnxεxεx当|x|1时:...6121112xxxex计算机数值方法第一章引论2、避免大数“吃掉”小数连加时,应从小到大进行相加,精度将得到适当改善.当然也可采取别的方法.4012.04697.04896.04987.01234.01041234.0104吃了,.,.,.将小数.大数4012.046970489604987012340104而如果将小数放在前面计算1234.0104012.04697.04896.04987.044100.1236计算机数值方法第一章引论3、避免使用绝对值较小的数做除数解:计算y时,出现了绝对值较小的数做除数现象,应改变计算方法,即)())(()(1000100116051000100110001001100010011605100010011605y计算机数值方法第一章引论例:的值。计算多项式0111)(axaxaxaxpnnnnn次乘法,需作计算nxann;2)1(12)1()(nnnnxpn的值需作乘法次数:计算.n加法次数:(b)利用秦九韶算法(a)直接计算每一项再求和:)().(,;的递推公式:)(计算,,,,xPSaxSSaSxpnnnkkkknnn012111解:次加法。次乘法的值只需作计算nnxpn)(110(){[()]}nnnpxxxxaxaaa4、注意简化计算步骤,减少运算次数计算机数值方法第一章引论5、选择数值稳定性好的算法.10010计算),2,1(110试利用递推公式,3已知akaaakk计算机数值方法第一章引论P29.习题一:1.2.8.12(1).12(2)本章作业