数值分析-绪论课件.ppt

上传人(卖家):三亚风情 文档编号:3251721 上传时间:2022-08-13 格式:PPT 页数:68 大小:364KB
下载 相关 举报
数值分析-绪论课件.ppt_第1页
第1页 / 共68页
数值分析-绪论课件.ppt_第2页
第2页 / 共68页
数值分析-绪论课件.ppt_第3页
第3页 / 共68页
数值分析-绪论课件.ppt_第4页
第4页 / 共68页
数值分析-绪论课件.ppt_第5页
第5页 / 共68页
点击查看更多>>
资源描述

1、 数数 值值 分分 析析 赵赵 斌斌 在数学发展中,理论和计算是紧密联系的。现代计算机的在数学发展中,理论和计算是紧密联系的。现代计算机的出现为大规模的数值计算创造了条件,集中而系统的研究适用出现为大规模的数值计算创造了条件,集中而系统的研究适用于计算机的数值方法变得十分迫切和必要。数值计算方法正是于计算机的数值方法变得十分迫切和必要。数值计算方法正是在大量的数值计算实践和理论分析工作的基础上发展起来的,在大量的数值计算实践和理论分析工作的基础上发展起来的,它不仅仅是一些数值方法的简单积累,而且揭示了包含在多种它不仅仅是一些数值方法的简单积累,而且揭示了包含在多种多样的数值方法之间的相同的结构

2、和统一的原理。多样的数值方法之间的相同的结构和统一的原理。为什么要开设这个课呢为什么要开设这个课呢 数值算法是进行科学计算必不可缺少的起码常识;更为数值算法是进行科学计算必不可缺少的起码常识;更为重要的是通过对它们的讨论,能够使人们掌握设计数值算法重要的是通过对它们的讨论,能够使人们掌握设计数值算法的基本方法和一般原理,为在计算机上解决科学计算问题打的基本方法和一般原理,为在计算机上解决科学计算问题打下基础。因此,数值分析(计算方法)已经成为理工科大学下基础。因此,数值分析(计算方法)已经成为理工科大学生必修课程生必修课程。为什么要开设这个课呢为什么要开设这个课呢 1.1.认识建立算法和对每个

3、算法进行理论分析是基本认识建立算法和对每个算法进行理论分析是基本 任务,主动适应任务,主动适应“公式多公式多”的特点;的特点;2.2.注重各章建立算法的问题的提法,搞清问题的基注重各章建立算法的问题的提法,搞清问题的基 本提法,逐步深入;本提法,逐步深入;3.3.理解每个算法建立的数学背景,数学原理和基本理解每个算法建立的数学背景,数学原理和基本 线索,对最基本的算法要非常熟悉;线索,对最基本的算法要非常熟悉;4.4.认真进行数值计算的训练,学习各章算法完全是认真进行数值计算的训练,学习各章算法完全是 为用于实际计算,必须真会算。为用于实际计算,必须真会算。如何进行学习?如何进行学习?p数值分

4、析讲述的基本内容数值分析讲述的基本内容n 如何把数学模型归结为数值问题如何把数学模型归结为数值问题n 如何制定快速的算法如何制定快速的算法n 如何估计一个给定算法的精度如何估计一个给定算法的精度n 分析误差在计算过程中的积累和传播分析误差在计算过程中的积累和传播n 如何构造精度更高的算法如何构造精度更高的算法n 如何使算法较少的占用存储量如何使算法较少的占用存储量n 如何分析算法的优缺点如何分析算法的优缺点p本课程的基本要求本课程的基本要求n 掌握数值方法的基本原理掌握数值方法的基本原理n 掌握常用的科学与工程计算的基本方法掌握常用的科学与工程计算的基本方法n 能用所学方法在计算机上算出正确结

5、果能用所学方法在计算机上算出正确结果 建立各种数学问题的数值计算算法的方法和理建立各种数学问题的数值计算算法的方法和理论。论。通俗地讲,就是为各种实际问题提供有效通俗地讲,就是为各种实际问题提供有效的数值近似解方法。的数值近似解方法。提供在计算机上实际可行的、理论可靠的、计提供在计算机上实际可行的、理论可靠的、计算复杂算复杂 性好的各种常用算法。性好的各种常用算法。本课程的任务:本课程的任务:本课程的任务:p先修课程和后续课程先修课程和后续课程:先修课程:数学分析,高等代数,常微分方先修课程:数学分析,高等代数,常微分方程,计算机语言等。程,计算机语言等。后继课程:数值代数,数值逼近,最优化方

6、后继课程:数值代数,数值逼近,最优化方法等。法等。p参考书参考书:1.1.计算方法引论计算方法引论(第二版),徐萃薇,孙绳武编著。(第二版),徐萃薇,孙绳武编著。高等教育出版社,高等教育出版社,2002 2002 2.2.数值分析数值分析,李庆扬,王能超,易大义编。李庆扬,王能超,易大义编。清华大清华大 学出版社学出版社 ,2001,20013.3.数值计算方法数值计算方法,关治,陈景良。清华大学出版社,关治,陈景良。清华大学出版社,19901990 绪绪 论论 本章内容本章内容1 1 引言引言2 2 误差的来源及分类误差的来源及分类 3 3 误差的度量误差的度量 4 4 误差的传播误差的传播

7、 5 5 减少运算误差的原则减少运算误差的原则 小结小结 绪 论本章要求掌握的内容本章要求掌握的内容p概念概念 包括有效数字、绝对误差包括有效数字、绝对误差、绝对误绝对误差差限限、相对误差、相对误差、相对误差、相对误差限等限等p误差误差 截断误差、舍入误差的详细内容,截断误差、舍入误差的详细内容,误差种类等误差种类等p分析运算误差的方法和减少运算误差的若分析运算误差的方法和减少运算误差的若干原则干原则1 1 引言引言1 1 引言引言数值分析又称计算方法数值分析又称计算方法,它是研究各种数它是研究各种数学问题的数值解法及其理论的一门学科。学问题的数值解法及其理论的一门学科。p数值分析的任务数值分

8、析的任务实际问题实际问题数学模型数学模型数值计算方法数值计算方法程序设计程序设计上机计算上机计算数值结果数值结果 根据数学模型提出求解的数值计算方法根据数学模型提出求解的数值计算方法直到编出程序上机算出结果,这一过程便是直到编出程序上机算出结果,这一过程便是数值分析研究的对象数值分析研究的对象基本的数学问题基本的数学问题:1.1.大型线性代数方程组大型线性代数方程组Ax=bAx=b求解求解;2.2.矩阵矩阵A A的特征值和特征向量计算的特征值和特征向量计算;3.3.非线性方程非线性方程 求解求解(求根求根););4.4.积分积分 计算计算;5.5.常微分方程初值问题求解常微分方程初值问题求解;

9、6.6.其它。其它。0)(xfdxxfba)(数值计算以及计算机模拟(包括当前流数值计算以及计算机模拟(包括当前流行的虚拟现实的方法),已经是在工程技术行的虚拟现实的方法),已经是在工程技术研究和经济、社会科学中广泛应用的方法,研究和经济、社会科学中广泛应用的方法,带来巨大的经济效益。天气预报与亿次计算带来巨大的经济效益。天气预报与亿次计算机、机、波音波音777777的无纸设计与有限元的无纸设计与有限元CTCT、核磁核磁共振、共振、计算流体力学与爆炸工程、计算流体力学与爆炸工程、能源问题能源问题与大型计算与大型计算p 计算方法课程主要讨论如何构造求数学模型近似计算方法课程主要讨论如何构造求数学

10、模型近似解的算法,讨论算法的数学原理、误差和复杂性解的算法,讨论算法的数学原理、误差和复杂性,配合程序设计进行计算试验并分析试验结果。,配合程序设计进行计算试验并分析试验结果。p 与纯数学的理论方法不同,用数值计算方法所求与纯数学的理论方法不同,用数值计算方法所求出的结果一般不是解的精确值或者准确的解析表出的结果一般不是解的精确值或者准确的解析表达式,而是所求真解的某些近似值或近似曲线。达式,而是所求真解的某些近似值或近似曲线。例如方程例如方程 x x2 2=2sinx=2sinx,在区间在区间(1,2)(1,2)内有唯一根内有唯一根,但找不出求根的解析式但找不出求根的解析式,只能用数值计算方

11、法求其只能用数值计算方法求其近似解。有些数学问题虽有理论上的准确的公式解近似解。有些数学问题虽有理论上的准确的公式解,但不一定实用但不一定实用,例如行列式解法的例如行列式解法的CramerCramer法则原则法则原则上可用来求解线性方程组上可用来求解线性方程组,用这种方法解一个用这种方法解一个n n元方元方程组程组,要算要算n+1n+1个阶行列式的值个阶行列式的值,总共需要总共需要n!(n-n!(n-1)(n+1)1)(n+1)次乘法次乘法,当当n=20n=20时时,其乘除法运算次数约需其乘除法运算次数约需10102121次方次方,即使用每秒千亿次的计算机也得需要上百即使用每秒千亿次的计算机也

12、得需要上百年年,而用高斯(而用高斯(GuassGuass)消去法约需消去法约需26602660次乘除法运次乘除法运算算,并且愈大并且愈大,相差就愈大。可见研究和选择好的算相差就愈大。可见研究和选择好的算法是非常重要的。法是非常重要的。p算法算法(数值算法数值算法):):从给定的已知量出发,经过有限次四则运算及规定的运算顺序,最后求出未知量的数值解,这样构成的完整计算步骤称为算法。p计算量计算量:一个算法所需的乘除运算总次数,单位是flop.计算量是衡量一个算法好坏的重要标准。p数值算法的特点数值算法的特点 目的性,条件和结论、输入和输出数据均要目的性,条件和结论、输入和输出数据均要有明确的规定

13、与要求。有明确的规定与要求。确定性,精确地给出每一步的操作确定性,精确地给出每一步的操作(不一定都不一定都是运算是运算)定义定义,不容许有歧义。不容许有歧义。可执行性,算法中的每个操作都是可执行的可执行性,算法中的每个操作都是可执行的 有穷性,在有限步内能够结束解题过程有穷性,在有限步内能够结束解题过程p计算机上的算法,按面向求解问题的不同,计算机上的算法,按面向求解问题的不同,分为数值算法和非数值算法。分为数值算法和非数值算法。2 误差的来源及分类2 2 误差的来源及分类 早在中学我们就接触过误差的概念,如在做热力学早在中学我们就接触过误差的概念,如在做热力学实验中,从温度计上读出的温度是实

14、验中,从温度计上读出的温度是23.423.4度,就不是一度,就不是一个精确的值,而是含有误差的近似值。事实上,误差个精确的值,而是含有误差的近似值。事实上,误差在我们的日常生活中无处不在,无处不有。如量体裁在我们的日常生活中无处不在,无处不有。如量体裁衣,量与裁的结果都不是精确无误的,都含有误差。衣,量与裁的结果都不是精确无误的,都含有误差。p在用数值方法解题过程中可能产生的误差在用数值方法解题过程中可能产生的误差归纳起来有如下几类:归纳起来有如下几类:n1.1.模型误差模型误差n2.2.观测误差观测误差n3.3.截断误差截断误差n4.4.舍入误差舍入误差p 用数学方法解决一个具体的实际问题,

15、首先要建立用数学方法解决一个具体的实际问题,首先要建立数学模型,这就要对实际问题进行抽象、简化,因数学模型,这就要对实际问题进行抽象、简化,因而数学模型本身总含有误差,这种误差叫做模型误而数学模型本身总含有误差,这种误差叫做模型误差差p 数学模型是指那些利用数学语言模拟现实而建立起数学模型是指那些利用数学语言模拟现实而建立起来的有关量的描述来的有关量的描述p 数学模型的准确解与实际问题的真解不同数学模型的准确解与实际问题的真解不同 模型误差模型误差p 在数学模型中通常包含各种各样的参变量,如温度、在数学模型中通常包含各种各样的参变量,如温度、长度、电压等,这些参数往往是通过观测得到的,因长度、

16、电压等,这些参数往往是通过观测得到的,因此也带来了误差,这种误差叫观测误差此也带来了误差,这种误差叫观测误差p 数学模型中的参数和原始数据,是由观测和试验得到数学模型中的参数和原始数据,是由观测和试验得到的的p 由于测量工具的精度、观测方法或客观条件的限制由于测量工具的精度、观测方法或客观条件的限制,使数据含有测量误差使数据含有测量误差,这类误差叫做这类误差叫做观测误差或数据观测误差或数据误差误差p 根据实际情况可以得到误差上下界根据实际情况可以得到误差上下界p 数值方法中需要了解观测误差数值方法中需要了解观测误差,以便选择合理的数值以便选择合理的数值方法与之适应方法与之适应 观测误差观测误差

17、p 精确公式用近似公式代替时精确公式用近似公式代替时,所产生的误差叫所产生的误差叫截断截断误差误差 例如例如,函数函数f(x)f(x)用泰勒用泰勒(Taylor)Taylor)多项式多项式 截断误差截断误差nnnxnfxfxffxp!)0(!2)0(!1)0()0()()(2 1)1()!1()()()()(nnnnxnfxpxfxR(介于0与x之间)近似代替,则数值方法的截断误差是近似代替,则数值方法的截断误差是p 截断误差的大小直接影响计算结果的精度和计算截断误差的大小直接影响计算结果的精度和计算 工作量,是数值计算中必须考虑的一类误差工作量,是数值计算中必须考虑的一类误差p 在数值计算中

18、只能对有限位字长的数值进行运算在数值计算中只能对有限位字长的数值进行运算p 需要对参数、中间结果、最终结果作有限位字长需要对参数、中间结果、最终结果作有限位字长的处理工作,这种处理工作称作舍入处理的处理工作,这种处理工作称作舍入处理p 用有限位数字代替精确数,这种误差叫做用有限位数字代替精确数,这种误差叫做舍入误舍入误差差,是数值计算中必须考虑的一类误差,是数值计算中必须考虑的一类误差舍入误差舍入误差 例如在计算时用例如在计算时用3.141593.14159近似代替近似代替,产生的误,产生的误差差R=R=-3.14159=0.0000026-3.14159=0.0000026就是舍入误差。就是

19、舍入误差。上述种种误差都会影响计算结果的准确性,因上述种种误差都会影响计算结果的准确性,因此需要了解与研究误差,在数值计算中将着重研究此需要了解与研究误差,在数值计算中将着重研究截断误差、舍入误差,并对它们的传播与积累作出截断误差、舍入误差,并对它们的传播与积累作出分析分析3 3 误差的度量误差的度量3 3 误差的度量误差的度量 3.1 3.1 绝对误差和绝对误差限绝对误差和绝对误差限 定义定义1 1设精确值设精确值x x的近似值的近似值 x x*,称差称差 e(xe(x*)=x-x=x-x*为近似值为近似值x x*的绝对误差,简称误差。的绝对误差,简称误差。e(xe(x*)又记为又记为e e

20、*当当e e*00时,时,x x*称为弱近似值,当称为弱近似值,当e e*00时,时,x x*称为强近似值称为强近似值,|e,|e*|越小,越小,x x*的精度越高的精度越高 由于精确值一般是未知的由于精确值一般是未知的,因而因而e e*不能求出来不能求出来,但但可以根据测量误差或计算情况设法估计出它的取值范围可以根据测量误差或计算情况设法估计出它的取值范围,即误差绝对值的一个上界或称误差限。,即误差绝对值的一个上界或称误差限。定义定义2 2 设存在一个正数设存在一个正数 ,使,使则称则称 为近似值的绝对误差限,简称误差限或精度。为近似值的绝对误差限,简称误差限或精度。*xxe*实际应用中经常

21、使用这个量来衡量误差限实际应用中经常使用这个量来衡量误差限,这就这就是说是说,如果近似数如果近似数 的误差限为的误差限为 ,则则表明准确值表明准确值 x x 必落在必落在 上上,常采用下面常采用下面的写法的写法*x*xxx*,xx*xx来表示近似值的精度或准确值来表示近似值的精度或准确值x x所在的范围。所在的范围。*a-a-a+a+a aA例例1 1 设x=3.1415926 近似值x*=3.14,它的绝 对误差是 0.001 592 6,有 x-x*=0.0015926 0.002=0.210-2例例2 2 又近似值x*=3.1416,它的绝对误差是 0.0000074,有 x-x*=0.

22、0000074 0.000008=0.810-5例例3 3 而近似值x*=3.1415,它的绝对误差是 0.0000926,有 x-x*=0.0000926 0.0001=0.110-3可见,可见,绝对误差限绝对误差限*不是唯一的,但不是唯一的,但*越小越好越小越好3.2 3.2 相对误差和相对误差限相对误差和相对误差限 只用绝对误差还不能说明数的近似程度只用绝对误差还不能说明数的近似程度,例如甲打字每例如甲打字每100100个错一个个错一个,乙打字每乙打字每10001000个个错一个错一个,他们的误差都是错一个他们的误差都是错一个,但显然乙要但显然乙要准确些准确些,这就启发我们除了要看绝对误

23、差外这就启发我们除了要看绝对误差外,还必须顾及量的本身。还必须顾及量的本身。定义定义3 3 绝对误差与精确值绝对误差与精确值x的比值的比值 xxxxexer*)(称为相对误差。称为相对误差。简记为简记为*re)(*xer 相对误差越小相对误差越小,精度就越高精度就越高,实际计算时实际计算时,x x通常是不知道的通常是不知道的,因此可用下列公式计算相因此可用下列公式计算相对误差对误差*xxxxeer定义定义4 4 设存在一个正数设存在一个正数 ,使,使)(*xr)(*xxxxxxeerr则称则称 为近似值为近似值 的相对误差限。的相对误差限。简记为简记为 )(*xr*x)(*xr*r例例4.4.

24、甲打字每甲打字每100100个错一个,乙打字每个错一个,乙打字每10001000个个 错一个,求其相对误差错一个,求其相对误差解:解:根椐定义根椐定义:甲打字时的相对误差甲打字时的相对误差 乙打字时的相对误差乙打字时的相对误差 00*11001re00*1.010001re3.3 3.3 有效数字有效数字定义定义5 5 设设x x的近似值的近似值 mnxxxx10.021*其中其中 是是0 0到到9 9之间的任一个数之间的任一个数,但但n n是正整数是正整数,m m是整数是整数,若若 ixnix,3,2,1,01nmxx1021*则称则称 为为x x的具有的具有n n位有效数字的近似值,位有效

25、数字的近似值,准确到准确到第第n n位,位,是是 的有效数字。的有效数字。*x*xnxxx21.*x例例5.3.1425.3.142作为作为的近似值时有几位有效数字的近似值时有几位有效数字解:解:3.141592 3.141592=0.3141592=0.3141592 3.142=0.3142 3.142=0.3142 m=1 m=1|-3.142|=|0.3141592|-3.142|=|0.3141592 -0.3142 -0.3142|0.000041 0.000041 0.0005=0.0005=m m n=1n=1n=-3 n=-3 所以所以 n=4n=4,具有具有4 4位有效数字

26、位有效数字11011011011011021310例例6.6.当取当取3.1413.141作为作为 的近似值时的近似值时 -3.1413.141=0.31415920.3141592 10101 1 -0.31410.3141 10101 1 0.0000592 0.0000592 10101 1 0.005=1/2 0.005=1/2 10 10-2-2 m m-n n=1-=1-n n=-2 =-2 所以所以n n=3=3具具有有3 3位位有效数字有效数字推论推论 如果如果近似数近似数x x*误差限是某一位的半个单位误差限是某一位的半个单位,由该位到由该位到x x*的第一位非零数字一共有的

27、第一位非零数字一共有n n位位 x x*就有就有n n位有效数字位有效数字,也就是说准确到该位也就是说准确到该位再如再如3.14163.1416作为作为 的近似值时的近似值时 -3.1416 3.1416=0.3141592 0.3141592 10101 1-0.314160.31416 10101 1 0.00000074 0.00000074 10101 1 0.00000740.00005 0.00000740.00005 0.5 0.5 10 10-4-4 m m-n n=1-=1-n n=-4 =-4 所以所以 n n=5=5x x*=3.14163.1416有有5 5位有效数字位

28、有效数字关于有效数字说明关于有效数字说明 用用四舍五入取准确值的前四舍五入取准确值的前n n位位x x*作为近似值作为近似值,则则 x x*必有必有n n位有效数字。如位有效数字。如3.1423.142作为作为 的近似值的近似值 有有4 4位有效数字,而位有效数字,而3.1413.141为为3 3位有效数字位有效数字把任何数乘以把任何数乘以1010p p(p=0,(p=0,1,1,)不影响有效位数不影响有效位数 准确值具有无穷多位有效数字准确值具有无穷多位有效数字,如三角形面积如三角形面积 S=1/2ah=0.5ah S=1/2ah=0.5ah 因为因为0.50.5是真值是真值,没有误差没有误

29、差 *=0,=0,因此因此n n,准确值具有无穷位有效数字准确值具有无穷位有效数字3.4 3.4 有效数字与相对误差有效数字与相对误差定理定理1 1 若若近似数近似数x x*=0.x0.x1 1x x2 2x xn n 1010m m具有具有 n n 位位 有效数字,则其相对误差有效数字,则其相对误差)1(1*1021nrxe)1(111*1021101021nmnmrxxxxxe证证:x x*=0.x0.x1 1x x2 2x xn n 1010m m x x*x x1 1 10 10 m-1m-1 又又 x x*具有具有n n位有效数字位有效数字,则则x-xx-x*1/21/2 10 10

30、 m-nm-n)1(1*1021nrxe 一般应用中可以取一般应用中可以取 r r*=1/2x=1/2x1 1 1010-(n-1)-(n-1),n,n越大越大,r r*越小越小,有效数字越多,相对误差就越小有效数字越多,相对误差就越小例例7 7 取取3.143.14作为作为 的四舍五入的近似值时,求其的四舍五入的近似值时,求其 相对误差相对误差解:解:3.14=0.314 3.14=0.314 10101 1 x x1 1=3 m=1=3 m=1 四舍五入的近似值四舍五入的近似值,其各位都是有效数字其各位都是有效数字 n=3n=3 r r*=1/2x=1/2x1 1 1010-(n-1)-(

31、n-1)=1/2=1/2*3 3 1010-2-2=17%=17%例例8 8 已知近似数已知近似数x x*有两位有效数字,试求其相有两位有效数字,试求其相 对误差限对误差限解:已知解:已知 n=2 n=2 代入公式代入公式 r r*=1/2x=1/2x1 1 1010-(n-1)-(n-1)得得 r r*=1/2x=1/2x1 1 1010-1-1 x x*的第一位有效数字的第一位有效数字x x1 1没有给出,可进行如下没有给出,可进行如下讨论:当讨论:当 x x1 1=1 =1 r r*=1/2x=1/2x1 1 1010-1-1=1/2=1/2*1 1 1010-1-1=5%=5%x x1

32、 1=9 =9 r r*=1/2x=1/2x1 1 1010-1-1=1/2=1/2*9 9 1010-1-1=0.45%=0.45%取取 x x1 1=1=1 时相对误差为最大,即时相对误差为最大,即 5%5%定理定理2 2 若若近似数近似数x x*=0.x0.x1 1x x2 2x xn n 1010m m相对误差相对误差 则该近似数具有则该近似数具有n n位有效数字位有效数字证证:x x*=0.0.x x1 1x x2 2x xn n 1010m m x x*(x x1 1+1)+1)1010m-1m-1nmmnxxxxxxxx102110)1(10)1(2111)1(1*)1(1*10

33、)1(21nrxe由有效数字定义可知由有效数字定义可知,x x*具有具有n n位有效数字。证毕位有效数字。证毕例例9 9 已知近似数已知近似数x x*的相对误差限为的相对误差限为0.3%0.3%,问,问x x*有几位有效数字?有几位有效数字?解:由解:由)1(1*10)1(21nrxe)1(110)1(2110003nx得得当当x x1 1=1=1时时,3,3 1010-3-3=1/4=1/4 1010-(n-1)-(n-1)1212 1010-3-3=10=10-(n-1)-(n-1)上式两边取以上式两边取以1010为底的对数得为底的对数得 lg2lg22 2+lg3+(-3)=-n+1+l

34、g3+(-3)=-n+1 lg2=0.3010 lg3=0.4771lg2=0.3010 lg3=0.4771 2 2 0.3010+0.4771-4=-n 0.3010+0.4771-4=-n n=2.9209n=2.9209 当当x x1 1=9=9时时,3,3 1010-3-3=1/20=1/20 1010-(n-1)-(n-1)6 6 1010-3-3=10=10-n-n 上式两边取以上式两边取以1010为底的对数得为底的对数得 lg2+lg3+(-3)=-n lg2+lg3+(-3)=-n n=2.2219n=2.2219 x x*至少有至少有3 3位有效数字位有效数字 例例10 1

35、0 为使为使 的近似数的相对误差小于的近似数的相对误差小于0.1%0.1%,问查开方表时,要取几位有效数字?问查开方表时,要取几位有效数字?解:解:8 9 8 9 x x1 1=8=8 -(-(n-1)lg2+2lg3+(-3)n-1)lg2+2lg3+(-3)-n1.2552-4 -n1.2552-4 -n-2.7448 -n2.7448 n2.7448 取取 n=3n=3即查平方表时即查平方表时 8.378.37取三位有效数字取三位有效数字 70703)1()1(110101811000110)1(21nnx70 注意注意:已知有效数字已知有效数字,求相对误差用公式求相对误差用公式 已知相

36、对误差已知相对误差,求具有几位有效数字公式求具有几位有效数字公式)1(1*10)1(21nrxe)1(1*1021nrxe 计算机的数值运算主要是加、减、乘、除四计算机的数值运算主要是加、减、乘、除四则运算,带有误差的数在多次运算过程中会进则运算,带有误差的数在多次运算过程中会进行传播。使计算结果产生误差。行传播。使计算结果产生误差。误差的变化可以用微分简单描述。注意到准误差的变化可以用微分简单描述。注意到准确值确值x x与其近似值通常很接近,其差可认为是较与其近似值通常很接近,其差可认为是较小的增量,即可以把差看作微分,由此可得误小的增量,即可以把差看作微分,由此可得误差的微分近似关系式。差

37、的微分近似关系式。xdxdxxxxxexedxxxxerln)()(*即即x x的微分表示的微分表示x x的绝对误差,的绝对误差,lnxlnx的微分的微分表示表示x x的相对误差,利用这两个关系式及微分的相对误差,利用这两个关系式及微分运算可以得到一系列有关四则运算的误差结果运算可以得到一系列有关四则运算的误差结果。4 4 算术运算误差算术运算误差 由由d(xd(xy)=dxy)=dxdy dy 可得两数之和可得两数之和(差)的差)的误差等于两数的误差之和(差);误差等于两数的误差之和(差);由由 可得两数之积可得两数之积的相对误差等于两数的相对误差之和;的相对误差等于两数的相对误差之和;由由

38、 可得两数商的相可得两数商的相对误差可看作是被除数与除数的相对误差之差对误差可看作是被除数与除数的相对误差之差。ydxdyxdlnln)ln(ydxdyxdlnlnln5 5 减少运算误差若干原则减少运算误差若干原则 误差是用来衡量数值方法好与坏的重要标志误差是用来衡量数值方法好与坏的重要标志 为此对每一个算法都要进行误差分析为此对每一个算法都要进行误差分析(1)(1)两个相近的数相减,会严重损失有效数字两个相近的数相减,会严重损失有效数字 例如例如x=1958.75x=1958.75,y=1958.32y=1958.32都具有五位都具有五位 有效数字,但有效数字,但x-y=0.43x-y=0

39、.43只有两位有效数字只有两位有效数字 通常采用的方法是改变计算公式通常采用的方法是改变计算公式,例如当例如当 很接近时很接近时,由于由于2121lglglgxxxx用右端代替左端公式计算用右端代替左端公式计算,有效数字就不会损失有效数字就不会损失 5 5 减少运算误差若干原则减少运算误差若干原则当当x x很大时可作相应的变换很大时可作相应的变换 xxxx111)1(11)1(xxarctgarctgxxarctg则用右端来代替左端。则用右端来代替左端。当当x x接近接近0 0时时 xxxxsin1sinsincos1一般情况,当一般情况,当f(x)f(xf(x)f(x*)时,可用泰勒展开时,

40、可用泰勒展开 2*)(!2)()()()(xxxfxxxfxfxf取右端的有限项近似左端。取右端的有限项近似左端。如果计算公式不能改变,则可采用增加有效位如果计算公式不能改变,则可采用增加有效位数的方法保证精度数的方法保证精度 (2 2)防止大数)防止大数“吃掉吃掉”小数小数例例 求二次方程求二次方程x x2 2-10-105 5x+1=0 x+1=0的根的根 解:按二次方程求根公式解:按二次方程求根公式 x x1 1=(10=(105 5+(10+(101010-4)-4)1/21/2)/2)/2 x x2 2=(10=(105 5-(10-(101010-4)-4)1/21/2)/2)/2

41、 在在8 8位浮点数计算得位浮点数计算得 x x1 1=(10=(105 5+10+105 5)/2=10)/2=105 5 (正确)正确),x x2 2=(10=(105 5-10-105 5)/2=0 ()/2=0 (错误)错误)p 产生错误的原因产生错误的原因 出现大数出现大数10101010吃掉小数吃掉小数4 4的情况的情况 分子部分出现两个相近数相减而丧失有分子部分出现两个相近数相减而丧失有 效数位常称为灾难性的抵消效数位常称为灾难性的抵消(3 3)绝对值太小的数不宜做除数)绝对值太小的数不宜做除数当分母为两个相近数相减时当分母为两个相近数相减时,会丧失有效数字会丧失有效数字)(10

42、0001.0)(1455.01456.0)(4分分子子分分子子分分子子这里分子的误差被扩大这里分子的误差被扩大1010000000倍倍,再如再如若将分母变为若将分母变为0.0011,0.0011,即分母只有即分母只有0.00010.0001的变化的变化时时,计算结果却有了很大变化计算结果却有了很大变化 5.3141001.01415.39.28550011.01415.3例例1.8 1.8 计算计算0135.00125.00003.00012.00143.00005.0D 解解:分子分母分别计算后相除分子分母分别计算后相除(取取9 9位小位小数数)A=0.0005A=0.0005*0.0143

43、0.0143*0.0012=0.000007150.0012=0.00000715*0.00120.0012 =0.000000009(=0.000000009(有舍入有舍入)B B=0.0003=0.0003*0.01250.0125*0.0135=0.000003750.0135=0.00000375*0.01350.0135 =0.000000051(=0.000000051(有舍入有舍入)D=A/B=0.17647真值为真值为0.169481480.16948148,所以所以D D只准确到小数后一只准确到小数后一位位例:例:计算计算 算法算法2 2。分成三组因子。每组只取六位小数计算。

44、分成三组因子。每组只取六位小数计算 a=0.0005/0.0003=1.666667(a=0.0005/0.0003=1.666667(有舍入有舍入)b=0.0143/0.0125=1.144000b=0.0143/0.0125=1.144000 c=0.0012/0.0135=0.088889(c=0.0012/0.0135=0.088889(有舍入有舍入)D=aD=a*b b*c=1.666667c=1.666667*1.144000 1.144000*0.088889 0.088889=0.169482,=0.169482,准确到小数后准确到小数后5 5位。位。0135.00125.00

45、003.00012.00143.00005.0Db bc ca a(4 4)简化计算步骤,减少运算次数)简化计算步骤,减少运算次数 x x255255=xxxx2 2x x4 4x x8 8x x1616x x3232x x6464x x128128 原先要做原先要做254254次乘法现只需次乘法现只需1414次即可次即可 又如计算多项式又如计算多项式 p p(x x)=)=a an nx xn n a an-1n-1x xn-1 n-1 a a1 1x x a a0 0 的值的值 若直接计算若直接计算a ak kx xk k,再逐项相加,一共要做再逐项相加,一共要做 n n+(+(n n-1

46、)+-1)+2+1=+2+1=n n(n n+1)/2+1)/2次乘法和次乘法和n n次加法次加法 如果将前如果将前n n项提出项提出x x,则有则有 p p(x x)=)=(a an nx xn-1n-1 a an-1n-1x xn-2 n-2 a a1 1)x x a a0 0 =(=(a an nx xn-2n-2 a an-1n-1x xn-3n-3 a a2 2)x x a a1 1)x x a a0 0 =(=(a an nx x a an-1n-1)x x a a2 2)x x a a1 1)x x a a0 0写成递推公式写成递推公式 nknkkabnkaxbb01),2,1(

47、于是于是 ,这种多项式求值的算法称为秦九这种多项式求值的算法称为秦九韶算法韶算法,只做只做n n次乘法和次乘法和n n次加法次加法,程序实现简单程序实现简单 nbxP)(5)(5)控制递推公式中误差的传播控制递推公式中误差的传播 对于一个数学问题的求解往往有多种数值方法对于一个数学问题的求解往往有多种数值方法在选择数值方法时,要注意所用的数值方法不应将在选择数值方法时,要注意所用的数值方法不应将计算过程中难以避免的误差放大的较快,造成计算计算过程中难以避免的误差放大的较快,造成计算结果完全失真。结果完全失真。例例13 13 计算积分计算积分 并估计误差并估计误差解解 容易得到递推公式容易得到递

48、推公式 )10,2,1,0(1010ndxxxInn1.1ln)10ln(10110100 xdxxI 1.1ln)10ln(10110100 xdxxI1011011011101010101010101010dxxxdxxxxdxxxxxdxxxInnnnnnnn11011011011010nnnIndxxxdxx)10,2,1(n即即 为为 nI1101nnInI)10,2,1(n则准确的理论递推式则准确的理论递推式 实际运算的递推式实际运算的递推式 两式相减有两式相减有 01101II*0*1101II)(10)(10*0*00*11IeIIII)(10)1()()10()(10)(*0

49、0*222*11*IIIIIIIIIennnnnnnnn这就是说这就是说,若若 与与 的误差为的误差为 =-,即即 ,则误差的递推规律为,则误差的递推规律为 0I*0I)(*0Ie0I*0I)(*0*00IeII于是于是)(10)(10)(10)(*010*82*9*10IeIeIeIe计算计算 时的误差被扩大了时的误差被扩大了 倍倍,显然算法是显然算法是数值不稳定的。数值不稳定的。如果将递推公式如果将递推公式 变换一种形式变换一种形式 *10I10101101nnInI101011nnInI准确的理论递推式准确的理论递推式实际运算的递推式实际运算的递推式从而有从而有 101011nnInI10101*1nnInI)(101*11nnnnIIII)(10)1()(101)(101*222*11*00nnnnIIIIIIII即即)(101)(101)(101)(*1010*22*1*0IeIeIeIe于是有于是有则这个算法的误差传递规律为则这个算法的误差传递规律为 10)()(*1nnIeIe 即每计算一步的误差的绝对值是上一步的十分即每计算一步的误差的绝对值是上一步的十分之一,误差的传播逐步缩小,得到很好的控制,这之一,误差的传播逐步缩小,得到很好的控制,这个算法是数值稳定的个算法是数值稳定的

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(数值分析-绪论课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|