数值计算第一章_第1页
数值计算第一章_第2页
数值计算第一章_第3页
数值计算第一章_第4页
数值计算第一章_第5页
已阅读5页,还剩58页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法1 兰洲交通大学数理学院兰洲交通大学数理学院兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法2 引言 数值计算方法数值计算方法是指面向数学问题适合计算机使用的是指面向数学问题适合计算机使用的数值计算方法数值计算方法,是计算科学的公共基础和通用的数值方是计算科学的公共基础和通用的数值方法,本课程的内容是介绍法,本课程的内容是介绍数值计算方法及其理论数值计算方法及其理论 求数学问题的数值解称为数值问题求数学问题的数值解称为数值问题. 一、学习本课程的必要性和重要性 现代科学的三个组成部分现代科学的三个组成部分:科学

2、理论科学理论,科学实验科学实验,科学计算科学计算兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法3 学习本课程的必要性和重要性 科学计算与科学理论、科学实验一起被称为科学计算与科学理论、科学实验一起被称为 三大科学研究手段;三大科学研究手段; 科学计算的核心内容是以现代化的计算机及数科学计算的核心内容是以现代化的计算机及数 学软件为工具,以数学模型为基础进行模拟研究学软件为工具,以数学模型为基础进行模拟研究 现代科学研究往往是非线性的,大系统的复杂问现代科学研究往往是非线性的,大系统的复杂问题,其量化处理必须用计算机,离不开数值计算题,其量化处理必须用计算机,离不开数值计算(

3、科学计算);(科学计算); 传统的学科领域与计算技术相结合,产生了诸多传统的学科领域与计算技术相结合,产生了诸多兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法4 新兴交叉学科,计算物理、计算力学、计算化学、计算流体力学、计算生物学、计算经济学等等。 工程科学中提出的数学问题,往往不能求出精确解,而数值计算方法将提供求解满足要求的数值近似解。 因而本课程是工科硕士研究生的一门很重要的学位课程兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法5 本课程的特点本课程的特点构造性 数值计算方法以构造性方法为基础,其方法都是为使用计算机而提出的,因此要求方法指明如何具

4、体去构造数学问题的解,即要求给出解题的可程序化的具体步骤与过程,直到给出问题的答案。222222222220020 x20()bxcbcbxcbxbbcxbbcxbbcxbbc 例如:求证方程x当时有两相异的实根构造性的证明方法:x上述不但证明了方程有两相异实根,而且可计算出。如果用反证法,假设不存在两个相异的实根,然后得出矛盾,证明根的存在,但没给出具体求根的计算的过程,这就是非构造性的方法。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法6 本课程的特点本课程的特点近似性 由于工程科学中提出来的数学问题,绝大数都无法求出解的精确值。所以数值解法主要研究近似解。 对于近似解

5、其精度(误差)的估计就显得很重要,故误差的来源,积累、传播及计算公式对初始数据的敏感性都会影响误差的估计和计算的稳定性。数值化的结果 数值方法所得解不是解析解而是数值解,可通过计算机得到,因此,数值方法是建立在离散的基础上,很多连续问题(如微分方程,积分)等的求解,首先要通兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法7 本课程的特点本课程的特点数值化的结果 特定的数学手段将连续问题离散化,离散的方法和技巧是一个很重要的问题,不同的离散手段可以导致不同的算值方法。但是他们最后都转化为代数问题,通过上机计算得到数值结果,当然,有了数值结果,如果需要,可以通过模拟得到近似解析解

6、兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法8 (3)数值计算方法这门课程已成为近代数学的 一个重要分支,专门研究数学问题的数值解法三、本课程的学习要点1. 构造数值方法的原理(支撑理论)2. 评价数值方法的好坏 (研究数值方法的性态、可靠性、效率)兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法9 本课程的学习要点3. 数值方法的计算机实现(计算机实习) 本课程的基本目的,是使学生通过学习和实践,理解和掌握这些数值计算方法的理论和应用,为今后进一步深入的学习和科学计算打下坚实的基础。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法10

7、 四、上机的工具与参考教材 要掌握高级编程语言: FORTRAN, C , MatlabMatlab几个显著特点几个显著特点1 用用Matlab处理矩阵处理矩阵容易容易2 用用Matlab绘图绘图轻松轻松3 用用Matlab编程编程简洁简洁4 Matlab具有丰富的工具箱具有丰富的工具箱 课后要尽可能多上机做练习 成绩评定 平时成绩与期末考试成绩综合评定兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法11 Text Book lNumerical Analysis (Seventh Edition)l数值分析数值分析 (第七版(第七版 影印版)影印版) lRichard L.

8、 Burden & J. Douglas Faires 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法12 第一章第一章 数值计算与误差分析数值计算与误差分析第一节第一节 数值算法数值算法算法算法:从给定的已知量出发,经过有限次四则从给定的已知量出发,经过有限次四则运算及规定的运算顺序,最后求出未知量的数运算及规定的运算顺序,最后求出未知量的数值解,这样构成的完整计算步骤称为算法。值解,这样构成的完整计算步骤称为算法。评价算法的两个主要标准:评价算法的两个主要标准:速度和精度速度和精度兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法13 一个面向计

9、算机一个面向计算机,计算复杂性好计算复杂性好,又有可靠又有可靠理论分析的算法就是一个好算法理论分析的算法就是一个好算法时间复杂性即时间复杂性即计算量计算量:一个算法所需四则运算一个算法所需四则运算总次数总次数. 一个算法所需的乘除运算总次数,单位是一个算法所需的乘除运算总次数,单位是flop.空间复杂性即空间复杂性即存储量存储量兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法14 ();1:7* ;* ;Matlabsxyxfor iss syyBsend 算算法法14N计算量( (输入输入x, x, 输出输出y y)255x例例1 计算计算 A:A:x255255= =xx

10、xB:B:x255=xx2x4x8x16x32x64x128254存储量存储量=4兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法15 32( )34262p xxxx计计算算多多项项式式例例 :的的值值。231,xxx由由 计计算算法法 :算算出出后后再再算算。需乘法需乘法5 5次,加法次,加法3 3次,存储单元次,存储单元7 7个。个。( ) (34)226p xx xx 算算法法 :需乘法需乘法3 3次,加法次,加法3 3次,存储单元次,存储单元6 6个。个。一般地,计算一般地,计算n次多项式的值次多项式的值兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算

11、方法16 算法算法2、秦九韶算法秦九韶算法需乘法需乘法n n次,加法次,加法n n次,存储单元次,存储单元n+3n+3个个。有递推公式算法算法1、需乘法需乘法2n-12n-1次,加法次,加法n n次,存储单元次,存储单元n+4n+4个。个。0111)(axaxaxaxPnnnnn1210( )( ( ()nnnnP xx x xx a x aaaa nnas kkkaxss10)(sxPn0 , 1 , 2 , 1 nk兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法17 1(0)1 :*( )*tuafor intxtuua itendyu 算法算法1 1 ( (输入输入a

12、( (i)( )(i=0,1=0,1,,n),n),x; ;输出输出y)flopnN2计算量1110( )nnnnnPxa xaxa xa 注意注意兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法18 pyendkapxpnkfornap )(*0:1:1)(其原理为其原理为算法算法2 2 (秦九韶算法)(秦九韶算法) ( (输入输入a a( (i i)( )(i i=0,1=0,1,,n),n),x x; ;输出输出y y)flopnN 计计算算量量0121)(axaxaxaxannn 注意注意兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法19 例例3

13、3 :求解求解n n元线性方程组元线性方程组 a a1111x x1 1+a+a1212x x2 2+ +a+ +a1n1nx xn n=b=b1 1 (1) (1) a an11n11+a+an2n2x x2 2+ +a+ +annnnx xn n=b=bn n 由线性方程组的由线性方程组的克莱姆克莱姆(Cramer)(Cramer)规则规则可知可知, ,如果方如果方程组程组(1)(1)的系数矩阵的系数矩阵A A的行列式的行列式( (一般记为一般记为D=|A|)D=|A|)不等于不等于零零, ,那末那末, ,这个方程组有唯一解这个方程组有唯一解, ,而且它们可以表示为而且它们可以表示为 x

14、xi i=D=Di i/D (i=1,n)/D (i=1,n)这里这里,D,Di i是指是指DD中第中第i i列元素用右端(列元素用右端(b b1 1, b, bn n)代替构成)代替构成的行列式。的行列式。A Ax x=b=bA A可逆可逆兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法20 克莱姆克莱姆算法步骤算法步骤DDxabaDniforaaaDiinijiiiitinjjjjjtnnnn . 2 . 2)1(. 1 . 21. 2)1(. 1211211)(12)(1N=(nN=(n2 2-1)n!+nflop-1)n!+nflopn=20, N= 9.7079.7

15、07 101020 20 flopflop兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法21 年。年。也要算也要算亿次的计算机亿次的计算机,用每秒,用每秒约为约为运算次数运算次数)法则求解)法则求解用克莱姆(用克莱姆(时时当当线性方程组线性方程组3001000107 . 9,20,20 CramernbAx兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法22 用计算机解决科学计算问题时,需要经历以下几个环节:用计算机解决科学计算问题时,需要经历以下几个环节:实际实际问题问题建立数建立数学模型学模型确定数值确定数值计算方法计算方法编制程序上编制程序上机算出结

16、果机算出结果 实际问题的精确解与用计算机计算出来的数值实际问题的精确解与用计算机计算出来的数值结果之间是有差异,这种差异在数学上称为误差。结果之间是有差异,这种差异在数学上称为误差。 数值结果是指在选择某种数值方法之后,编制程数值结果是指在选择某种数值方法之后,编制程序正确,输入初始数据正确的情形下所获得的数值结序正确,输入初始数据正确的情形下所获得的数值结果。果。 第二节 数值计算的误差分析兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法23 一、误差的来源与分析 1、数学模型、数学模型 001tLtLt记记是是金金属属棒棒在在温温度度 的的长长度度,是是 度度时时金金属属

17、棒棒的的长长度度,求求在在任任何何温温度度下下金金属属例例棒棒的的长长度度。200066(1)0.00125310 ,0.00006810tlLttLt 根根据据热热胀胀冷冷缩缩原原理理和和物物理理实实验验,可可建建立立如如下下数数学学模模型型:这这里里是是金金属属棒棒在在 时时的的长长度度, 、 为为物物理理参参数数并并有有如如下下估估计计:兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法24 一、误差的来源与分析 2、误差的种类、误差的种类 模型误差模型误差 数学模型与实际问题数学模型与实际问题之间之间出现的这种误出现的这种误 差称为差称为 模型误差模型误差 在例在例1中

18、,中, 就是模型误差。就是模型误差。观测误差观测误差 通过仪器确定数学模型中的参数所引起的误差成为通过仪器确定数学模型中的参数所引起的误差成为 观测误差。如自由落体运动中的重力加速度观测误差。如自由落体运动中的重力加速度ttLl 232331111,2!3!11( )12!3!xxneexxxxnSxxxx 求求的的近近似似值值。例例2 2兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法25 2、误差的种类、误差的种类 截断误差截断误差 模型的准确解与某种数值方法的准确解模型的准确解与某种数值方法的准确解之间的误差称为截断误差或方法误差。在例之间的误差称为截断误差或方法误差。

19、在例2中,中, 就是截断误差。就是截断误差。舍入误差舍入误差 用用计算机计算,由于计算机字长有限而计算机计算,由于计算机字长有限而在数值运算的每一步所产生的误差称为舍入误差。在数值运算的每一步所产生的误差称为舍入误差。431( )4!xeSxx 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法26 1( ),01(1)!nxnxRxen 例例1 1:( (截断误差截断误差) )2311111,2!3!xnexxxxne 已已知知求求的的近近似似值值,并并估估计计误误差差。解:解:利用展开式的前三项,取利用展开式的前三项,取n=2n=2,5 . 0) 1(21) 1(121e1

20、1210.51.7*103!Re 截断误差截断误差000( )(1)1000( )()()()()( )()()!(1)!nnnnTaylorf xf xfxxxfxfxxxxnn 由公式:由公式:3、截断误差分析兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法27 2335230111(),sin( )()2!3!11sin( )122!3!hhhehhO hhhhO hehhhh 当当时时,有有如如下下T Ta ay yl lo or r展展开开式式试试确确定定例例近近似似计计算算公公式式+ +2 2:的的截截断断误误差差。233523311sin( )12()()2!3

21、!112()2!sin( )()hhehhhhO hO hhhO hehO h + +的的截截断断误误差差为为解解:。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法28 例例1 1:舍入误差:舍入误差590472. 1066. 1492. 1设在一台虚构的设在一台虚构的4 4位数字的计算机上计算位数字的计算机上计算590. 1066. 1492. 1舍入误差为舍入误差为 0.0004720.0004724、舍入误差分析兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法29 舍入误差对计算的结果影响舍入误差对计算的结果影响1231111123611113234

22、1247111345360 xxx 考考察察方方:程程组组例例1321 xxx其其解解为为 783. 008. 183. 1200. 0250. 0333. 0250. 0333. 0500. 0333. 0500. 0000. 1321xxx数数字字如如果果把把系系数数舍舍入入成成三三位位49. 1,488. 0,09. 1321 xxx求求解解得得兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法30 在实数系中,每一个实数可以有在实数系中,每一个实数可以有无穷位无穷位,不同的,不同的实数代表数轴上不同的点;实数代表数轴上不同的点;732050808. 13 在计算机数系中

23、,每一个数只有在计算机数系中,每一个数只有有限位有限位,只有部分,只有部分有理数能被计算机数系中的数精确表示。有理数能被计算机数系中的数精确表示。表示。不能被计算机数系精确3浮点数:浮点数:36.83=0.3683102=0.03683103这种允许小数点位置浮动的表示法称为数的这种允许小数点位置浮动的表示法称为数的浮点形式。浮点形式。实数实数x x的十进制浮点形式为的十进制浮点形式为 x= = 0.0.a1 1 a2 2. . ak k 1010c c,尾数尾数阶码阶码ai i 0,1,2,0,1,2,9, cZ,9, cZ基数基数a a1 10, (1)0, (1)称为称为x x 的的规格

24、化的浮点形式规格化的浮点形式(1)二、计算机数系兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法31 x的的k k位位十进制十进制机器数机器数fl( (x) )可用两种方法定义:可用两种方法定义:(1 1)截断式)截断式 fl( (x)=)= 0. 0. a1 1 a2 2. . ak k 1010c c 510)10. 0(510. 0)(121121kckkkckaaaaaaaaxfl(2)(2)四舍五入式四舍五入式x x 的的k k位规格化十进制机器数位规格化十进制机器数y= y= 0. 0. a a1 1 a a2 2. . a ak k 1010c c, y=, y

25、=fl(x)fl(x) a ai i 0,1,2,9, 0,1,2,9, a a1 1 0 0,L L c c U,U, k k是机器数的字长;是机器数的字长; L L、U U 是常数。是常数。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法32 一般数制情况:一般数制情况: k k位规格化机器数位规格化机器数y= y= 0. 0. a1 1 a2 2. . ak kc c , , =2,8,10,16,=2,8,10,16, ai i 0,1,2,0,1,2, , -1, L-1, L c c U,U,a1 100F(F( ,k.L,U),k.L,U)表示以上数集全体加数表

26、示以上数集全体加数0 0,它是计算机中,它是计算机中使用的有限离散数集使用的有限离散数集( (机器数系)机器数系)。F(F( ,k,L,U),k,L,U)中的数称为机器数。中的数称为机器数。F(10,4,-33,33), y= y= 0. 0.a1a2a3a4 10c. 31415926 在此机器数系在此机器数系 中表示中表示 fl( ). 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法33 例例5 在机器数系在机器数系 F(10,4,-33,33)中表示中表示 fl().3.1415926(10,4, 33,33),F 33330.1000100.999910 35101

27、99.0若浮点数的阶码不在若浮点数的阶码不在L,UL,U内,则出现上溢或下溢内,则出现上溢或下溢。采用截断式采用截断式 fl fl( )=0.3141 )=0.31411010采用四舍五入式采用四舍五入式 fl fl( )=0.3142 )=0.31421010但是但是341028.0例如例如 在在4位机器数系位机器数系 F(10,4,-33,33)中输入中输入 出现出现下溢,输入下溢,输入 出现上溢。出现上溢。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法34 三、绝对误差和相对误差三、绝对误差和相对误差定义:定义: 设数设数a是精确值,是精确值,x是是a的一个近似值,记

28、的一个近似值,记reaxaxeeaa rexex称称 为为近近似似值值 的的绝绝对对误误差差,称称为为近近似似值值 的的相相对对误误差差。eaxxxax ,称称为为数数 的的近近似似值值 的的绝绝对对误误差差限限,rrraxexxxa ,称称为为近近似似值值 的的相相对对误误差差限限。x 近近似似值值 在在允允许许的的误误差差限限 内内,我我们们就就认认为为是是“准准确确的的”。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法35 例例6 6 已知准确值已知准确值a=3.1415926=3.1415926是一个无限不循环小数,求是一个无限不循环小数,求截取不同位数后的近似值和

29、误差界。截取不同位数后的近似值和误差界。解:解:10113,10.1410 ;2xeax 截截取取一一位位22223.14,10.001610 ;2xeax 截截取取三三位位34333.1416,10.0000074102xeax 截截取取五五位位。a的的近近似似值值的的绝绝对对误误差差都都超超不不过过本本身身末末位位数数的的半半个个单单位位四、有效数字兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法36 43443.141510.000093102xeax 是是截截取取相相应应位位数数后后,所所得得到到的的近近似似数数中中绝绝对对误误差差的的最最小小值值。 1210.100

30、,0,1,.,9 )pnixa aanxnaa 设设近近似似数数的的绝绝对对误误差差限限是是第第 位位的的半半个个单单位位,则则数数 有有位位有有效效数数字字。( (定定义义34333.1416,10.0000074102xeax 截截取取五五位位。 1210.100,0,1,.,9 )pnixa aanxnaa 设设近近似似数数的的绝绝对对误误差差限限是是第第 位位的的半半个个单单位位,则则数数 有有位位有有效效数数字字。( (定定义义兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法37 l即npxa10215411031416. 04311031415. 01415. 3

31、nnnnpp兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法38 例例7: 设设 x1=1.73, x2=1.7321, x3=1.7320是其近似值是其近似值, 问它们分别有几位有效数字问它们分别有几位有效数字?.7320508. 13 x211130.00212:10ex 解解422102100005. 03 xe3331021000051. 03 xe3位位5位位4位位兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法39 例例: :考虑考虑 1.1.x =11, =11, a=10 , e=1, e=10 , e=1, er r=0.1=0.1 2.

32、2. x =1001, =1001, a=1000, e=1, e=1000, e=1, er r=0.001=0.001 3. 3. x =1001, =1001, a =1101, e=100, e =1101, e=100, er r=0.1=0.1 当某个量的准确值很小或很大时,相对误差比绝对当某个量的准确值很小或很大时,相对误差比绝对误差更能反映准确数与近似数的差异。误差更能反映准确数与近似数的差异。 一个近似值的准确程度,不仅与绝对误差的大小一个近似值的准确程度,不仅与绝对误差的大小有关,而且与准确值本身的大小有关。有关,而且与准确值本身的大小有关。兰州交通大学数理学院兰州交通大学

33、数理学院 数值计算方法数值计算方法40 例例8:设计算机数系为设计算机数系为F(10,t,L,U),将实数将实数x=0.a1a2atat+110c,(a10),用四舍五入法表为机用四舍五入法表为机器数器数fl(x);求其有效数字、绝对误差限、相对误差限。求其有效数字、绝对误差限、相对误差限。解:解:121121( )100.,50.10,5ttttcfl xaa aaaata aaa ().ctxflx0 51 0 ttcxxflxecr 105101 . 0105 . 0)(相对误差为相对误差为绝对误差为:绝对误差为:机器数的相对误差与机器数的相对误差与x无关,只与字长无关,只与字长t有关。

34、有关。定义定义 eps=0.510-t+1为机器精度。为机器精度。fl( (x) )有有t t位有效数字位有效数字。兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法41 注 (1 1)在数值计算中,尽可能多地保留近似数)在数值计算中,尽可能多地保留近似数的有效数字,有效数字越多,的有效数字,有效数字越多, 相对误差越小,相对误差越小,计算结果越精确。计算结果越精确。(2 2)对)对IEEEIEEE国际通用标准双精度数系国际通用标准双精度数系机器精度机器精度 EpsEps=2.2204e-16=2.2204e-16最小实数最小实数 RealminRealmin=2.2251e-

35、308=2.2251e-308最大实数最大实数 ReamaxReamax=1.7977e+308=1.7977e+308兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法42 (1) 加减法先对阶加减法先对阶,后运算后运算,再舍入再舍入 fl(x) fl (y)= fl (fl(x) fl (y)例例9:在在F(10,4,-33,33)的计算机上计算的计算机上计算1+ 104 解解: 1+ 104 =0.1000 101+ 0.1000 105 = 0.00001 105 + 0.1000 105 (对阶,靠高阶对阶,靠高阶) = 0.10001 105 = 0.1000 10

36、5 = 104(2)乘除法先运算乘除法先运算,再舍入再舍入 fl (x) fl (y)= fl (fl(x) fl (y), fl (x) fl (y)= fl (fl(x) fl (y)(3) 不在计算机数系中的数做四舍五入处理不在计算机数系中的数做四舍五入处理注:浮点数加法注:浮点数加法 不满足结合律不满足结合律五、计算机中数的计算特点:兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法43 绝绝对对误误差差和和相相对对误误差差。的的的的近近似似值值,讨讨论论分分别别为为),(,yxfubayx 表表示示某某一一种种确确定定的的运运算算:),(fyxfu 的的绝绝对对误误差

37、差u| ),(),(|)(yxfbafuuue | )(),()(),(|ybyyxfxaxyxf )(|),(|)(|),(|yeyyxfxexyxf yyfxxf | 六、数值运算中的误差估计1、数值运算的绝对误差和相对误差( ,)( ,)( , )( ,)()()f x yf x yf a bf x yaxbyxy 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法44 )(|),(|)(|yuyyyxfxuxxfrr 的相对误差的相对误差u|)(|),(|)(|),(|)()(uyeyyxfuxexyxfuueuer )(|),(|)(|),(|yeuyyyxfxeux

38、xyxfrr |)(|),(|)(|),(|yyeuyyyxfxxeuxxyxf 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法45 )()()()(|)(|)() 3(22yexeyxeyeyxxeyyyxerrr计计式式、差差、积积、商商的的误误差差估估由由以以上上公公式式可可以以推推导导和和)(|)(|)()()()() 1 (yeyxyxeyxxyxeyexeyxerrr )()()()(|)(|)()2(yexexyeyexxeyxyerrr 六、数值运算中的误差估计2、和、差、积、商的误差估计式兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法4

39、6 xx 1xxxx 111 解解:(1) 防止相近的两数相减防止相近的两数相减例例1:当当x较大时较大时,计算计算例例2 计算计算2,sincos1 xxx解:解:当当x很小时,分子出现相近数相减,将以上算式变形很小时,分子出现相近数相减,将以上算式变形xxxxxxxxxcos1sin)cos1(sincos1)cos1(sin)cos1)(cos1(2 七、减少误差的措施兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法47 (2) 防止大数吃小数防止大数吃小数 当两个绝对值相差很大的数进行加法或减法运算时当两个绝对值相差很大的数进行加法或减法运算时,绝对值小绝对值小的数有

40、可能被绝对值大的数的数有可能被绝对值大的数吃掉吃掉从而引起计算结果很不可靠从而引起计算结果很不可靠. 在上式中,重新排序计算在上式中,重新排序计算 上式上式= 0.2+0.4+0.4+ 23456=1+ 23456= 0.00001 105+ 0.23456105=23457例例3:在在F(10,5,-119,119)中,计算中,计算 23456+0.2+0.4+0.4上式上式=0.23456105+0.000002 105+ 0.000004 105+ 0.000004 105 =23456 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法48 (3) 防止接近零的数做除数

41、防止接近零的数做除数 分母接近零的数会产生溢出错误分母接近零的数会产生溢出错误,因而产因而产生大的误差生大的误差,此时可以用数学公式化简后再做此时可以用数学公式化简后再做.多个数相乘时,从其中有效位数最多的数乘多个数相乘时,从其中有效位数最多的数乘起起)10001001(1605100010011605 y兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法49 (4) 注意计算步骤的简化注意计算步骤的简化,减小运算次数减小运算次数 简化计算步骤是提高程序执行速度的关键,它不仅可以简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减少舍入误差累加。节省时间,还能减少舍

42、入误差累加。例例4:设设A、B、C、D分别是分别是10 20、 20 50、 50 1、 1 100的矩阵,试按不同的算法求矩阵乘积的矩阵,试按不同的算法求矩阵乘积E=ABCD.解:解:由矩阵乘法的结合律,可有如下算法由矩阵乘法的结合律,可有如下算法1. E=(AB)C)D. 计算量计算量N=11500flop2. E=A(B(CD). 计算量计算量N=125000flop3. E=(A(BC)D. 计算量计算量N=2200flop兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法50 误差的定性分析法:误差的定性分析法:即研究算法的数值稳定性。即研究算法的数值稳定性。误差的定

43、量分析误差的定量分析法法: 定义:定义:一个算法如果输入数据有扰动(即一个算法如果输入数据有扰动(即有误差),而计算过程中舍入误差不增长,则有误差),而计算过程中舍入误差不增长,则称此算法是数值稳定的,否则称此算法为不稳称此算法是数值稳定的,否则称此算法为不稳定的。定的。八、算法的数值稳定性兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法51 100,1,2,.185nnxydxnx 例例 :111110051(1)55nnnnnxxyydxxdxxn 解解:由由 8,.151182. 05ln6ln100nynyyyynnn的的递递推推公公式式得得0000yyey 有有误误

44、差差初初值值000001111555)51()51eyyyyyyey (的误差的误差兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法52 0( 1) 5nnnnnnyeyye 同同理理得得的的误误差差此算法是不稳定的此算法是不稳定的019. 0)951961(215161655,811111 ynynyyyyyynnnnnnndxxxynn 105)2(兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法53 1,.,7 , 8)1(51019. 0188nynyyynn得得递递推推公公式式nnneeyyyye5) 1(.51)(51111000 误误差差数值稳定的。数值稳定的。位有效数字。此算法是位有效数字。此算法是有相同的有相同的与准确值与准确值85ln6ln18232155. 00 ynyynn151 由由兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法54 兰州交通大学数理学院兰州交通大学数理学院 数值计算方法数值计算方法55 无条件稳定与条件稳定无条件稳定与条件稳定对对任何输入数据都是稳定的算法称为无条件稳定。任何输入数据都是稳定的算法称为无条件稳定。 对某些数据稳定,而对另一些数据不稳定的算法称为对某些数据稳定,而对另一些数据不稳定的算法称为条条件稳定件稳定。220axbxc 求求例例二二次次方方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论