《计算方法》PPT课件.pptx
《《计算方法》PPT课件.pptx》由会员分享,可在线阅读,更多相关《《计算方法》PPT课件.pptx(292页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1计算方法1.1 1.1 计算方法研究的对象和特点计算方法研究的对象和特点 计算方法计算方法实际上就是计算机上使用的数值计算方法,所实际上就是计算机上使用的数值计算方法,所以这门课程又称为以这门课程又称为数值计算方法数值计算方法或或数值分析数值分析。它是专门研究。它是专门研究求解各种数学问题的求解各种数学问题的数值计算数值计算方法。现在,由于大多数科学方法。现在,由于大多数科学计算都比较复杂,人工计算无法完成;而计算机科学的迅速计算都比较复杂,人工计算无法完成;而计算机科学的迅速发展和广泛应用提供了解决这些复杂问题的新途径。发展和广泛应用提供了解决这些复杂问题的新途径。用计算机解决科学计算问题
2、的一般过程,可以概括为:用计算机解决科学计算问题的一般过程,可以概括为:实际问题实际问题数学模型数学模型计算方法计算方法 程序设计程序设计上机计算上机计算结果分析结果分析32023/2/10主讲 韩光朋 由实际问题应用有关科学知识和数学理由实际问题应用有关科学知识和数学理论建立数学模型这一过程,通常作为论建立数学模型这一过程,通常作为应用数学应用数学的的任务。而根据数学模型提出求解的计算方法直到任务。而根据数学模型提出求解的计算方法直到编出程序上机算出结果,进而对计算结果进行分编出程序上机算出结果,进而对计算结果进行分析,这一过程则是析,这一过程则是计算数学计算数学的任务,也是数值计的任务,也
3、是数值计算方法的研究对象。算方法的研究对象。因此,因此,数值计算方法就是研究用计算机解决数值计算方法就是研究用计算机解决数学问题的数值方法及其理论的科学数学问题的数值方法及其理论的科学。它的内容它的内容包括包括:误差理论、线性与非线性方程:误差理论、线性与非线性方程(组组)的数值的数值解、矩阵的特征值与特征向量计算、曲线拟合与解、矩阵的特征值与特征向量计算、曲线拟合与函数逼近、插值方法、函数逼近、插值方法、数值积分与数值微分、常数值积分与数值微分、常微分方程与偏微分方程数值解等。微分方程与偏微分方程数值解等。42023/2/10主讲 韩光朋1.1.把实际问题归结为数值问题把实际问题归结为数值问
4、题制定数值问题的算法制定数值问题的算法得不到准确解时,设法得到近似解得不到准确解时,设法得到近似解解的特性(近似程度,敛散性)解的特性(近似程度,敛散性)各种方法的优缺点(速度,存储量)各种方法的优缺点(速度,存储量)各种方法的实用范围(收敛范围)各种方法的实用范围(收敛范围)计算方法要解决的几个问题:计算方法要解决的几个问题:(或研究的对象)(或研究的对象)52023/2/10主讲 韩光朋 把实际问题归结为数值问题把实际问题归结为数值问题 由于电子数字计算机的广泛使用,使越来越多的由于电子数字计算机的广泛使用,使越来越多的实际问题能归结为数值问题而得到解决(如:曲线拟合,数实际问题能归结为数
5、值问题而得到解决(如:曲线拟合,数值逼近等)。值逼近等)。【什么是数值问题呢?什么是数值问题呢?所谓数值问题,指的是所谓数值问题,指的是由一组已知数据(又称输入数据)求出一组结果数据(又称由一组已知数据(又称输入数据)求出一组结果数据(又称输出数据),使得这两组数据之间满足预先指定的某种关系输出数据),使得这两组数据之间满足预先指定的某种关系(函数关系)的问题。(即由一组数求得另一组数)(函数关系)的问题。(即由一组数求得另一组数)】制定数值问题的算法制定数值问题的算法 【什么叫算法?什么叫算法?用完全确定的运算规则(包括用完全确定的运算规则(包括运算的逻辑顺序),对某一类数值问题的输入数据进
6、行处理,运算的逻辑顺序),对某一类数值问题的输入数据进行处理,判断此数值问题是否有解,在解存在的情况下,给出输出数判断此数值问题是否有解,在解存在的情况下,给出输出数据,此种据,此种过程过程称为称为算法算法。】62023/2/10主讲 韩光朋得不到准确解时,设法得到近似解得不到准确解时,设法得到近似解 例例:求:求 已知数。已知数。由数学中的极限理论可知,由数学中的极限理论可知,(极限存在)(极限存在)于是于是 又又n只能有限,只能有限,x是近似值。是近似值。72023/2/10主讲 韩光朋在计算方法中,我们还将讨论:在计算方法中,我们还将讨论:解的特性(近似程度,敛散性)解的特性(近似程度,
7、敛散性)各种方法的优缺点(速度,存储量)各种方法的优缺点(速度,存储量)各种方法的实用范围(收敛范围)各种方法的实用范围(收敛范围)82023/2/10主讲 韩光朋 一个好的方法应具有如下特点:一个好的方法应具有如下特点:第一第一,面向计算机,要根据计算机特点提供实际可行的,面向计算机,要根据计算机特点提供实际可行的有效算法,即算法只能包括加、减、乘、除运算和逻辑运有效算法,即算法只能包括加、减、乘、除运算和逻辑运算,是计算机能直接处理的。算,是计算机能直接处理的。第二第二,有可靠的理论分析,能任意逼近并达到精度要,有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证方法的收敛性和数值
8、稳定性,还要对求,对近似算法要保证方法的收敛性和数值稳定性,还要对误差进行分析,这些都建立在相应数学理论基础上。误差进行分析,这些都建立在相应数学理论基础上。第三第三,要有好的计算复杂性(即时间复杂性和空间复杂,要有好的计算复杂性(即时间复杂性和空间复杂性);性);时间复杂性时间复杂性好是指节省时间,好是指节省时间,空间复杂性空间复杂性好是指节省好是指节省存储量,这也是建立算法要研究的问题,它关系到算法能否存储量,这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。在计算机上实现。第四第四,要有数值实验,即任何一个算法除了从理论上要,要有数值实验,即任何一个算法除了从理论上要满足上述三
9、点外,还要通过满足上述三点外,还要通过数值试验数值试验证明是行之有效的。证明是行之有效的。92023/2/10主讲 韩光朋 例:例:一个简单的算法问题,设要对给定一个简单的算法问题,设要对给定 的的 求多项式求多项式 的值。的值。一种一种计算过程是直接计算计算过程是直接计算 的每一的每一项后逐项求和,这样要做项后逐项求和,这样要做 次乘法和次乘法和 次加法。次加法。102023/2/10主讲 韩光朋 另一种另一种算法就是先将算法就是先将 变形为如下形变形为如下形式:式:再由内层向外层计算,如设再由内层向外层计算,如设 :就可以得到一个递推公式就可以得到一个递推公式k=1,2,n (1.3)这样
10、的计算过程只需要计算这样的计算过程只需要计算n次乘法和次乘法和n次次加法。这种算法和上一种算法相比,不仅逻辑结构加法。这种算法和上一种算法相比,不仅逻辑结构简单,而且计算也明显地减少了。多项式求值的这简单,而且计算也明显地减少了。多项式求值的这种算法称为种算法称为秦九韶秦九韶算法(计算框图见图算法(计算框图见图1.2)。112023/2/10主讲 韩光朋1.2 误差的来源及其基本概念误差的来源及其基本概念1.2.1 误差来源:误差来源:用数值计算方法解决科学技术中的具体问题,用数值计算方法解决科学技术中的具体问题,一一般说都有误差,其来源有下列般说都有误差,其来源有下列四种四种:(注:注:由于
11、人为的粗心大意造成的计算由于人为的粗心大意造成的计算错误错误,不算,不算误差误差)1.模型误差模型误差 数学描述和实际问题之间的误差数学描述和实际问题之间的误差 如:匀加速运动或自由落体运动公式如:匀加速运动或自由落体运动公式 略去了风力,空略去了风力,空气阻力等。气阻力等。2.观察误差观察误差 如:读表、读尺、读温度计。如:读表、读尺、读温度计。122023/2/10主讲 韩光朋3.3.截断误差截断误差 如:对如:对 x 0,求,求 。利用泰勒公式有。利用泰勒公式有取其部分和作为取其部分和作为 ,就产生了,就产生了截断误差截断误差。4.4.舍入误差舍入误差 由于计算机的字长有限,对超过位由于
12、计算机的字长有限,对超过位数的数字要进行舍入,通常取与它们接近的数来表数的数字要进行舍入,通常取与它们接近的数来表示,由此产生的误差称为示,由此产生的误差称为舍入误差舍入误差。例如,我们通。例如,我们通常使用常使用2.718282.71828和和3.14163.1416来表示来表示 的近似值,的近似值,由此所产生的误差就是舍入误差。由此所产生的误差就是舍入误差。132023/2/10主讲 韩光朋 本课程仅讨论后两种误差(本课程仅讨论后两种误差(截断误差截断误差和和舍入误差舍入误差),讨论它们在计算过程中的传),讨论它们在计算过程中的传播和对计算结果的影响,研制能够控制误差播和对计算结果的影响,
13、研制能够控制误差的影响且保证最终结果有足够精度的算法。的影响且保证最终结果有足够精度的算法。142023/2/10主讲 韩光朋1.2.2 误差的概念和有效数字误差的概念和有效数字1.1.绝对误差绝对误差定义定义1.11.1 设某数的精确值为设某数的精确值为 ,其近似值为,其近似值为 ,那,那么么 与与 之差之差称为近似值称为近似值 的的绝对误差绝对误差,简称,简称误差误差。一般地,某数的精确值一般地,某数的精确值 是不知道的,因而是不知道的,因而 不能求出,但往往可以估计出它的大小范围,亦即不能求出,但往往可以估计出它的大小范围,亦即可以确定一个正数可以确定一个正数 ,使得,使得此时,称此时,
14、称 为为 的的绝对误差限绝对误差限。有时也用。有时也用表示近似值表示近似值 的精确值的精确值 或精确值或精确值 的所在范围。的所在范围。152023/2/10主讲 韩光朋2.2.相对误差相对误差 绝对误差反映不了一个近似数的准确程度。如:绝对误差反映不了一个近似数的准确程度。如:称一头大象误差十公斤,称一只蚂蚁误差一克,谁称一头大象误差十公斤,称一只蚂蚁误差一克,谁的近似程度好,显然大象的近似应好些。于是引进的近似程度好,显然大象的近似应好些。于是引进了了相对误差相对误差。记。记 称称 为近似值为近似值x的的相对误差相对误差,由于精确值,由于精确值 一一般不知道,实际计算时通常取般不知道,实际
15、计算时通常取 作为近似值作为近似值x的相对误差。的相对误差。若能求出一个正数若能求出一个正数 ,使得,使得 ,则,则 称为近似值称为近似值x的的相对误差限相对误差限。它是无量纲的数,通常。它是无量纲的数,通常用百分比表示。用百分比表示。162023/2/10主讲 韩光朋 例:甲用米尺测量10M长的物体,所产生的绝对误差为2cm,乙用同一米尺测量1M长的物体,所产生的绝对误差为1cm,他们谁的测量精度好?解:根据上述定义可知,甲测量时的相对误差 乙测量时的相对误差可见甲测量结果比乙精确。172023/2/10主讲 韩光朋 3.有效数字 当准确数的位数很多时,我们常按“四舍五入”原则减少位数,得其
16、近似数。并用“有效数字”来描述它。定义1.2 如果近似值 的误差限是某一位的半个单位,该位到 的第一位非零数字共有 位,则称 有 位有效数字。如果 的每一位都是有效数字,则称 为有效数。如 :,有5位有效数字 ,有6位有效数字182023/2/10主讲 韩光朋 任何一个实数 ,经四舍五入后得到的近似值 都可以表示为如下标准形式:(其中m可为正负数)如果其绝对误差限满足则称近似值 具有n位有效数字。192023/2/10主讲 韩光朋例例1 1 设设 =0.0270=0.0270是某数是某数 经经“四舍五入四舍五入”所得,则所得,则 误差误差 不超过不超过 末位的半个单位,即:末位的半个单位,即:
17、又又 ,故该不等式又可写为故该不等式又可写为 由有效数字定义可知由有效数字定义可知,有有3 3位有效数字,分别位有效数字,分别 是是 2,72,7,0 0。202023/2/10主讲 韩光朋例例2 2 又又 ,故该不等式又可故该不等式又可写为写为故故 有有3 3位有效数字,分别是位有效数字,分别是 3,2 3,2,8 8。由于由于 中的数字中的数字9 9不是有效数字不是有效数字,故故 不是不是有效数有效数。思考思考:有几位有效数字?有几位有效数字?有效数位为有效数位为3位位有效数位为有效数位为5位位有效数位为有效数位为4位位222023/2/10主讲 韩光朋4.有效数字与绝对误差、相对误差有如
18、下关系:若某数 的近似值 有n位有效数字,那么这个近似值 的绝对误差限为 (注:由(1.4)式可知:m为整数位,n为小数位)由此看出:当m相同时,n越大,则m-n越小,从而有效位数越多,其绝对误差限越小。数据也就越精确。232023/2/10主讲 韩光朋 用式(1.4)表示的近似数 ,若具有n位有效数字,则其相对误差限为 则 至少具有n位有效数字。反之,若 的相对误差限为242023/2/10主讲 韩光朋证明 由知,若x具有n位有效数字,则从而(将上式代入)(参见(参见1.41.4式)式)252023/2/10主讲 韩光朋 反之,若x的相对误差限为 所以x至少有n位有效数字。由(2)可以看出,
19、有效位数越多,相对误差限就越小,精确度也就越高。262023/2/10主讲 韩光朋 1.2.3 初值误差的传播 近似数参加运算后所得到的值也是近似值,含有误差,将这一现象称为误差传播。数值运算中误差的传播情况比较复杂,主要表现在:算法本身可能有截断误差;初始数据在计算机内的浮点表示一般有舍入误差;每次运算一般又会产生新的误差,并且传播以前已经引入的误差。因此,对误差进行准确分析是困难的,但也是很重要的。它关系到一个方法是否稳定,计算结果是否可靠。误差的传播与积累误差的传播与积累例例3:蝴蝶效应蝴蝶效应 纽约的一只蝴蝶翅膀一拍,风和日丽的北纽约的一只蝴蝶翅膀一拍,风和日丽的北京就刮起台风来了?!
20、京就刮起台风来了?!NYBJ以上是一个病态问题以上是一个病态问题 282023/2/10主讲 韩光朋 1.3 1.3 选用和设计算法应注意的问题选用和设计算法应注意的问题 一般衡量算法的标准有:算法是否稳定,算法的运算次数和算法的存储量是否尽量少,同时还要考虑误差的传播等。选用和设计算法应注意如下几个问题:选用数值稳定的计算公式 防止两个相近数相减 防止大数“吃掉”小数 简化计算步骤,减少运算次数292023/2/10主讲 韩光朋1.3.1 选用数值稳定的计算公式选用数值稳定的计算公式 如果数值算法的计算舍入误差积累是可以控制的,则称其为数值稳定的;反之,称为数值不稳定的。例:计算定积分 (序
21、列序列)利用分部积分法不难求得递推关系式为 公式推导302023/2/10主讲 韩光朋由式(1.16)可依次算出如下结果:(p011.c)注意到(注:从积分中按注:从积分中按x的最小和最大值提出的最小和最大值提出ex)?(1.17)由上面 的不等式可以看出312023/2/10主讲 韩光朋 因此按递推关系式(1.16)所算出的 计算值是错误的,严重偏离其准确值。发生这种现象的原因是因为 本身有不超过 的误差。设 是具有精确初始值 ,并按式(1.16)计算而得的,则有 由此可见,初始值微小的误差会随着计算步数的增加而迅速扩大,最终使计算结果失真。故算法式(1.16)不能控制误差的传播,是数值不稳
22、定的。322023/2/10主讲 韩光朋如果将式(1.16)改写为(1.18)又注意到结合式(1.17)得由上面的估计式取开始按式(1.18)计算,有如下结果:(p012.c)332023/2/10主讲 韩光朋 由此可以看出按递推关系式(1.18)算出的 与 结果相差无几,已精确到小数点后第四位。分析误差的传播,则有 这表明,随着计算步骤的增加,初始误差可以得到控制,于是可知算法(1.18)式是数值稳定的。公式推导342023/2/10主讲 韩光朋1.3.2 防止两个相近数相减防止两个相近数相减 在数值计算中若有两个相近的数相减,则这两个数的前几位相同的有效数字会在它们之差中消失,从而使有效数
23、字的位数减少。如果遇到两个相近的数相减运算,可考虑对公式进行处理,避免减法。例如,当例如,当 很大时,下两式应作如下处理:很大时,下两式应作如下处理:352023/2/10主讲 韩光朋1.3.3 1.3.3 绝对值太小的数不宜作除数绝对值太小的数不宜作除数 算法语言中已讲过,在机器上若用很小的数作除数会溢出停机,而且当很小的数稍有一点误差时,对计算结果影响很大。例如:362023/2/10主讲 韩光朋 1.3.4 防止大数防止大数“吃掉吃掉”小数小数 例:设a=63281312,b=0.1,c=0.9,求a,b,c之和。如果按(a+b)+c 次序来编制程序,此时按照加法浮点运算的对阶规则,应有
24、 在八位的计算机上计算时,上式后面的两个数在计算机上变为了“机器零”,被“吃掉”。其结果为63281312。如果改变计算次序为(b+c)+a,则有(0.10.9)63281312 163281312 63281313。这样就避免了小数被大数“吃掉”的现象。372023/2/10主讲 韩光朋1.3.5 简化计算步骤,减少运算次数简化计算步骤,减少运算次数 对于同一个问题的计算,可以有不同的计算方法,如计算 的值,如果逐个相乘,则要计算254次乘法;但如果写成 只要做14次乘法运算就可以完成。由此可见,如果方法选择得当,则不仅能减少计算次数,提高计算速度,也可以简化逻辑结构,减少误差积累,从而达到
25、提高计算精度的目的。382023/2/10主讲 韩光朋 误差问题是计算方法中既重要而又困难的课题,本章介绍了误差来源及相关基本概念,同时还给出设计算法时应注意的问题,这对今后学习是必须的。习题4.要使 的相对误差不超过 至少需要保留多少位有效数字?所有至少要保留5位有效数字。10 二月 2023第40页在许多科学技术和工程计算等实际问题中,常常会遇到求解非线性方程的问题。例如例如:求n次代数方程 的根;或求由三角函数、指数函数和对数函数等组成的超越方程。例如例如:求超越方程 的解。这些都可表示为求非线性方程 的根,或称为求非线性方程的解,即求函数 的零点。方程 的根可以是实数,也可以是复数;0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算方法 PPT 课件
限制150内