《计算方法第一章引论.ppt》由会员分享,可在线阅读,更多相关《计算方法第一章引论.ppt(94页珍藏版)》请在三一办公上搜索。
1、数 值 分 析第1章 引 论,1 课 程 简 介,数值分析是数学科学的一个分支,它研究数值计算方法的设计、分析和有关的理论基础与软件实现问题,其包含的内容属于计算数学的一个部分。数值分析又称为数值计算方法、计算方法,是一门与计算机应用密切结合的实用型很强的数学课程,专门研究各种数学问题的近似计算数值方法。,1 课 程 简 介,1-1 课程起源1.历史沿革 数学最初导源于计算,计算曾经是古代数学的最重要的组成部分。各个时期的大数学家,在发展基础数学的同时也都对计算方法作出了重要贡献。例如:牛顿、拉格朗日、高斯、秦九韶等。直到20世纪40年代,由于技术手段和计算工具条件的不足,发展比较缓慢,作用也
2、比较有限。,1 课 程 简 介,1-1 课程起源2.计算方法的形成 20世纪下半叶,计算机极大地扩展了数学的应用范围与能力。如:天气预报 计算能力的提高与所用计算方法的效能密切相关。以原来分散在数学各分支的计算方法为基础的一门新的数学科学“计算数学”开始形成并迅速发展。,1 课 程 简 介,1-1 课程起源3.作用与意义 科学实验、科学理论、科学计算已成为人类进行科学活动的三大方法。这是伽利略、牛顿以来在科学方法论方面取得的重大进展。,1 课 程 简 介,1-2 计算机数值方法的研究对象1.研究问题 利用计算机解决科学计算问题的全过程大致如下:实际问题 构造数学模型 设计数值计算方法 程序设计
3、 上机求出结果 回到实际问题。,1 课 程 简 介,1-2 计算机数值方法的研究对象数学模型举例:例1-1 鸡兔同笼:(共10只,34只脚)导致方程组;例1-2 追线(弹道轨迹)在Ox轴上有一点P以常速a沿着正方向移动;在平面上另有一点M,它以常速v移动,方向永远指向动点P,求M点的轨迹。导致微分方程例1-3 曲边梯形的面积。,1 课 程 简 介,1-2 计算机数值方法的研究对象 相应地,本课程主要研究的数值问题有:函数的插值与逼近方法;微分与积分计算方法;线性方程组与非线性方程组计算方法;微分方程数值解等。苏蕾你是我老婆啊!,1 课 程 简 介,1-2 计算机数值方法的研究对象2.课程的任务
4、 本课程的任务是:将计算机不能直接计算的运算,化成在计算机上可执行的运算。例1-4:,,1 课 程 简 介,1-2 计算机数值方法的研究对象2.课程的任务 本课程的任务是:针对数值问题研究可在计算机上执行且行之有效的新系列计算公式。如解线性方程组,已有Cram法则,但不可行。(几十万年)误差分析,即研究数值问题的性态和数值方法的稳定性。,1 课 程 简 介,1-3 课程特点及学习目的1.主要特点 本课程的特点是涉及数学中的多个分支,如微积分学、微分方程,代数中的解非线性方程、方程组等。既有纯数学的高度抽象性与严密科学性的特点,同时又具有应用广泛性与数值试验的高度技术性。(要求先掌握基本数学知识
5、,以及计算机的基本操作),1 课 程 简 介,1-3 课程特点及学习目的2.学习目的 本课程不仅在解决工程的计算问题上,在一些大型计算、高层次的计算机系统设计上都有着十分重要的意义。因此,本课程也是计算数学专业的必修课。学习一些常用的数值方法,掌握数值方法的基本理论,为进一步研究新算法奠定基础。初步掌握一种软件包:Matlab,Mathematic等的使用方法。,1 课 程 简 介,1-4 学习要求及参考书目认真听讲,作业要独立完成,不懂就问。一定要动手,你的能力与你的代码行数成正比。,1 课 程 简 介,1-4 学习要求及参考书目参考书目:数值方法:易大义等,浙江科技出版社 计算方法:武汉大
6、学,高等教育出版社 数值计算方法:李有法,高等教育出版社 数值分析:李庆扬,王能超,易大义。计算方法引论:徐萃薇。数值分析引论:易大义,陈道琦。,2 数值问题与数值算法,2-1 数学模型与数值问题1.数学模型 实际问题经抽象、简化而产生的一组解析表达式或原始数据。2.数值问题 输入数据与输出数据之间函数关系的一个确定而无歧义的描述。例如:求二次方程的根,可算作一个数值问题。,2 数值问题与数值算法,2-1 数学模型与数值问题注:数学模型并不都是数值问题,如:常微分方程:就不是一个数值问题,其解为函数y=x2+3x。要将常微分方程的求解问题变成数值问题,需要进行“离散化”:将求函数转换为求函数值
7、:y(x1),y(x2),y(xn),0 x1 x2xn=a.,2 数值问题与数值算法,2-2 数值方法与数值算法1.数值方法 求解数值问题的计算机上可以执行的系列计算公式。计算机上可执行的计算公式有:四则运算、逻辑运算、标准函数。例如,求根公式 含有开方,不是数值方法。但若使用带开方运算的函数过程,则可归于数值方法,2 数值问题与数值算法,2-2 数值方法与数值算法1.数值方法 例如,计算。求积分,不是数值方法。但改造为如下递推公式,则为数值方法。递推公式(A):递推公式(B):或,2 数值问题与数值算法,2-2 数值方法与数值算法1.数值方法 例如,计算。求积分,不是数值方法。但改造为如下
8、递推公式,则为数值方法。递推公式(A):递推公式(B):故 取中值即得,2 数值问题与数值算法,2-2 数值方法与数值算法1.数值方法 例如,计算。求积分,不是数值方法。但改造为如下递推公式,则为数值方法。递推公式(A):递推公式(B):,2 数值问题与数值算法,2-2 数值方法与数值算法1.数值方法 计算结果见表注:计算公式不都属于数值方法,如积分、求极限运算等。,2 数值问题与数值算法,2-2 数值方法与数值算法2.数值算法 指有步骤地完成解数值问题的过程,数值方法是它的前提和基础,它是数值方法的具体化。具备以下四个特性:(1)目的性:给出输入数据和输出数据的明确的规定与要求。(2)确定性
9、:必须精确地给出每一步的操作定义,不允许有歧义。,求解数值问题的计算机上可以执行的系列计算公式。,2 数值问题与数值算法,2-2 数值方法与数值算法2.数值算法 指有步骤地完成解数值问题的过程,数值方法是它的前提和基础,它是数值方法的具体化。具备以下四个特性:(3)可执行性:每个操作都是可以执行的。(4)有穷性:必须在有限步内能够结束。,2 数值问题与数值算法,2-2 数值方法与数值算法3.算法的分类(1)按面向求解问题的不同分为:数值算法和非数值算法(2)按面向计算机的不同分为:串行算法和并行算法(3)按算法的内部特征分为:确定型算法和非确定型算法,本课程只讨论计算机上串行确定型的数值算法
10、即通过按规定顺序执行一个完整且有限的运算序列后,将输入的数据(向量)变成输出的数据(向量)。,2 数值问题与数值算法,2-2 数值方法与数值算法4.算法设计的目的(1)寻找能达到“数值问题”要求的计算精度的数值方法可靠性(2)提高计算速度和减少存储空间计算复杂性好(3)为程序设计做好准备,2 数值问题与数值算法,2-2 数值方法与数值算法4.算法设计的目的例2-1 给出等差数列1,2,10000的求和算法。,省略,2 数值问题与数值算法,2-2 数值方法与数值算法说明:对于大型数值问题,使用不同的算法其计算复杂性将大不相同。如对20阶线性方程组,用克莱姆法则作为算法进行求解,其乘、除法运算次数
11、共需约9.71020次,若用每秒1亿次的计算机计算也要30万年;而若改用高斯消去法作为算法进行求解,只需乘除运算约2670次。,2 数值问题与数值算法,2-3 算法设计的方法 算法设计属于软件开发中详细设计阶段的内容。目前流行两种开发方法:面向过程:自顶向下,逐步细化的结构化方法 面向对象:自下向上的组装式方法 本课程介绍结构化方法。,2 数值问题与数值算法,2-3 算法设计的方法 面向过程:自顶向下,逐步细化的结构化方法 面向对象:自下向上的组装式方法 本课程介绍结构化方法。关键有三个方面:(1)划分模块。原则是模块的功能要单一,即独立性好(内部结构紧密,外部联系少)(2)选择模块的算法。先
12、考虑总体数值方法,再考虑具体计算公式(3)充实细节,并考虑效率等。,2 数值问题与数值算法,2-3 算法设计的方法(1)划分模块。原则是模块的功能要单一,即独立性好(内部结构紧密,外部联系少)(2)选择模块的算法。先考虑总体数值方法,再考虑具体计算公式(3)充实细节,并考虑效率等。本课程主要介绍单一功能模块的算法设计。,2 数值问题与数值算法,2-3 算法设计的方法本课程主要介绍单一功能模块的算法设计。例2-2 解方程ax2+bx+c=0,考虑如下数值问题:,2 数值问题与数值算法,注:(1)独立模块。选择算法:直接法(求根公式)、间接法(迭代法)。(2)细节:求根公式的选择、有效数位问题、误
13、差问题。(3)公式而非算法,2 数值问题与数值算法,2-4 算法的表示法 算法的表示:自然语言、图示法1.自然语言 仍以求解方程的根为例(不考虑处理小数作除数的情况):(1)输入数据a,b,c,2 数值问题与数值算法,2-4 算法的表示法(1)输入数据a,b,c(2)若a 0,转(4)(3)若b 0,则,转(5);否则,无解停机(4)D=b2 4ac,SD=SQRT(|D|)若D=0,转(5)若D 0,转(5)若D 0,转(5)(5)输出x1,x2,2 数值问题与数值算法,2.图示法(1)传统流程图,2 数值问题与数值算法,(2)NS流程图 1)顶层设计 2)第1层设计 细化(),2 数值问题
14、与数值算法,(2)NS流程图 2)第1层设计 3)第2层设计 a)细化(),2 数值问题与数值算法,(2)NS流程图 2)第1层设计 3)第2层设计 a)细化()b)细化(),2 数值问题与数值算法,(2)NS流程图 3)第2层设计 a)细化()b)细化()说明:(1)为了避免相近两数相减所产生的大误差,在求根公式中不做减法。修改(IV):其中使用了根与系数公式:x1x2=c/a。,2 数值问题与数值算法,(2)多分支选择结构的流程图(3)循环结构的流程图,3 误 差,3-1 误差的基本概念误差的来源(1)观测误差:受测量工具精度的影响(2)模型误差:因简化和抽象,数学模型包含的误差(3)截断
15、误差:近似解与精确解之间的误差,将数值问题转化为数值方法时产生(4)舍入误差:取有限位小数所引起的误差,3 误 差,3-1 误差的基本概念1.误差的来源例3-1 公式:所产生的误差即截断误差例3-2 R=-3.14159=0.0000026.所产生的误差即舍入误差,3 误 差,3-1 误差的基本概念1.误差的来源注:(1)疏忽大意造成的错误不属于误差。(2)总假定:由实际问题建立的数学模型是合理的,参量也是足够精确的(3)主要讨论截断误差和舍入误差。,3 误 差,3-1 误差的基本概念2.绝对误差与绝对误差限 首先来看如何描述误差。定义3.1 设x为精确值,x*为x的近似值,称E(x*)=x*
16、-x为近似值x*的绝对误差,简称误差,简记为E。注:E可正可负,很难求出。若|E|=|x*-x|(x*),则称(x*)为x*的绝对误差限,简称误差限,简记为。,往往知道|E|的范围:|E|,3 误 差,3-1 误差的基本概念2.绝对误差与绝对误差限定义3.1 设x为精确值,x*为x的近似值,称E(x*)=x*-x为近似值x*的绝对误差,简称误差,简记为E。注:E可正可负,很难求出。若|E|=|x*-x|(x*),则称(x*)为x*的绝对误差限,简称误差限,简记为。注:(1)0,3 误 差,3-1 误差的基本概念2.绝对误差与绝对误差限例3-3“四舍五入”的绝对误差限 设x=0.a1a2 ana
17、n+110k四舍五入:此时,总有即=,十进制标准表示式(a1 0)。,3 误 差,3-1 误差的基本概念2.绝对误差与绝对误差限(2)x的范围:x*-x x*+,工程上常记为:x=x*。(知道误差限就可知道精确值的范围)例3-4 v=100 2(V)表示v*=100(V)是电压的一个近似值,而2(V)为其误差限:|v*-v|2(V)(3)绝对误差限不能完全表示近似程度的好坏,如x=100 2,y=10 1,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限定义3.2 称 为近似值x*的相对误差。若,则称 r(x*)为近似值x*的相对误差限。注:(1)由于 与 相差很少,而 不易知道 故
18、将 代替,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限定义3.2 称 为近似值x*的相对误差。若,则称 r(x*)为近似值x*的相对误差限。注:(2)绝对误差和绝对误差限有量纲,而相对误差和相对误差限无量纲,常用百分数表示。,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限若,则称 r(x*)为近似值x*的相对误差限。仍然考虑:x=100 2,y=10 1:即x*=100,y*=10的相对误差限分别是2%与10%,故x*近似x的程度比y*近似y的程度好。,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限(3)绝对误差限与相对误差限均不唯一(上限不唯一,越小越好
19、)。,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限例3-5 已知e=2.71828182,其近似值为e*=2.71828,求e*的绝对误差限和相对误差限。解:因为E=e e*=0.00000182,所以|E|=0.00000182 0.000002=210-6,|E|=0.00000182 0.000019=1.910-6。210-6和1.910-6都是|E(e*)|的上界,都可以作为近似值e*的绝对误差限:=210-6,=1.910-6。,3 误 差,3-1 误差的基本概念3.相对误差与相对误差限例3-5 已知e=2.71828182,其近似值为e*=2.71828,求e*的绝
20、对误差限和相对误差限。解:因为E=e e*=0.00000182,所以e*的绝对误差限:=210-6,=1.910-6。又因为 所以0.810-6和0.7110-6都可以作e*的相对误差限。,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数定义3.3 若x*的误差绝对值不超过某一位数的半个单位,而该位数字到x*的第1位(最左边)非零数字共有n位,则称x*有n位有效数字,这n个数字都称为有效数字。如设x=3.14159265 取x*=3.14,则|x*-x|=0.00159265 0.005=(绝对误差限)有效位3,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数定义3.
21、3 若x*的误差绝对值不超过某一位数的半个单位,而该位数字到x*的第1位(最左边)非零数字共有n位,则称x*有n位有效数字,这n个数字都称为有效数字。如设x=3.14159265 取x*=3.141,则|x*-x|=0.00059265 0.005=有效位3,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数定义3.3 若x*的误差绝对值不超过某一位数的半个单位,而该位数字到x*的第1位(最左边)非零数字共有n位,则称x*有n位有效数字,这n个数字都称为有效数字。如设x=3.14159265 取x*=3.142,则|x*-x|=0.0004073 0.0005=有效位4,上述做法其实
22、就是通常的四舍五入法。,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数定义3.4 若x*=10k 0.a1a2an(a1 0)是对x的第n+1位数字进行四舍五入后得到的近似值,即|x*-x|,则x*具有n位有效数字。注:(1)称x*具有n位有效数字,即|x*-x|(2)有效数字位数与小数点的位置无关(即上式中的k不起作用)。只有写成规格化数后,小数点后的数字位数才有用。,如何描述有效数字?一般情况下在计算机中数往往规格化,故有必要考察规格化数。,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数(3)4与4.0具有不同的有效数位。,3 误 差,3-1 误差的基本概念4.
23、有效数字和有效数字位数例3-6 设准确值为x=3.78695,分析近似值=3.7869,=3.7870分别具有几位有效数字。解:|-x|=0.00005=(小数点后第4位),有效位5。|-x|=0.00005=(小数点后第4位),有效位5。,3 误 差,3-1 误差的基本概念4.有效数字和有效数字位数(4)一般来说,有效位数越多,其误差值越小,但也有例外。(误差相同,有效位不同,如下例)例3-7 设x=1000,它的两个近似值 和 分别有3,4位有效数字。,3 误 差,3-1 误差的基本概念5.有效数字与相对误差间的关系定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)
24、若x*具有n位有效数字,则其相对误差满足:(2)若x*的相对误差满足:,则x*至少具有n位有效数字。,上面用绝对误差来描述了有效数位,下面考虑相对误差与有效数位的关系。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)若x*具有n位有效数字,则其相对误差满足:(2)若x*的相对误差满足:,则x*至少具有n位有效数字。证明:因为10k-1=0.1 10 k|x*|10k,所以(1)|x*|0.110 k=10k-1,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)若x*具有n位有效数字,则其相对误差满足:(2)若x*的相
25、对误差满足:,则x*至少具有n位有效数字。证明:因为10k-1=0.1 10 k|x*|10k,所以(2)|x*|10k 知x*至少具有n位有效数字。,这里有两个不等式放大,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)若x*具有n位有效数字,则其相对误差满足:(2)若x*的相对误差满足:,则x*至少具有n位有效数字。注:(1)有效数位越多,则相对误差越小,反之亦然。(2)上述结论都是充分条件。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)若x*具有n位有效数字,则其相对误差满足:(2)若x*的相对误差满足:,则
26、x*至少具有n位有效数字。在实际应用中,为了要使取得的近似数的相对误差满足一定的要求,可以用(1)中的不等式来确定所取得近似数应具有多少位有效数字。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(1)若x*具有n位有效数字,则其相对误差满足:例3-8 求 的近似值,使其相对误差不超过0.1%解:因为,设x*具有n位有效数字则其相对误差满足:(定理3.1(1))满足此式有n=4,故取x*=2.449。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(2)若x*的相对误差满足:,则x*至少具有n位有效数字。例3-9 设(1)x1
27、=1.986,=1.98(2)x2=1.014=1.01,分别求 与 的有效位数与相对误差限解:(1)由Th3.1(2),至少有2位有效数字。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(2)若x*的相对误差满足:,则x*至少具有n位有效数字。例3-9 设(1)x1=1.986,=1.98(2)x2=1.014=1.01,分别求 与 的有效位数与相对误差限解:(2)由Th3.1(2),至少有2位有效数字。,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(2)若x*的相对误差满足:,则x*至少具有n位有效数字。例3-9 设(
28、1)x1=1.986,=1.98(2)x2=1.014=1.01,分别求 与 的有效位数与相对误差限解:根据有效数位的定义可得:有2位有效数字,有3位有效数字,3 误 差,定理3.1 设x*=10k 0.a1a2an(a1 0)是x的近似值(2)若x*的相对误差满足:,则x*至少具有n位有效数字。注2:在实际应用中,为了使取得的近似数具有n位有效数字,通常要求所取得的近似数的相对误差满足定理3.1(2)中的不等式。,3 误 差,例3-10 确定圆周率的近似值 的绝对误差、相对误差及有效数位。解:因为*=3.141592920 所以,|*|=0.00000026;故至少有6位有效数字,由定义,其
29、误差|E|=|*|0.0000005=,所以应该是有7位有效数字,3 误 差,3-2 数值运算的误差1.函数运算中的误差 当自变量有误差时,计算相应的函数值也会产生误差,其误差限可由泰勒展式估计。(1)设f具有二阶导函数,x*为x的近似值,则,3 误 差,3-2 数值运算的误差1.函数运算中的误差 当自变量有误差时,计算相应的函数值也会产生误差,其误差限可由泰勒展式估计。(1)设f具有二阶导函数,x*为x的近似值,则,3 误 差,3-2 数值运算的误差1.函数运算中的误差(2)若f是n元函数,有二阶连续偏导数,xi*为xi的近似值,i=1,2,n,则,3 误 差,3-2 数值运算的误差2.四则
30、运算中的误差 四则运算作为二元函数的特例:,3 误 差,3-2 数值运算的误差2.四则运算中的误差(1)加减法:,注意分母,3 误 差,3-2 数值运算的误差2.四则运算中的误差(2)乘法:,3 误 差,3-2 数值运算的误差2.四则运算中的误差(3)除法:,注意分母,3 误 差,3-3 浮点基本运算的误差1.浮点数及其误差 二进实数:x=2 0.12t 其中1 0 机器数:x*=2 0.12t 符号 阶码 尾数 称fl(x)=x*为x的机器规格化浮点数,简称浮点数.记=0.12t,*=0.12t,则x=2,x*=2*,尾数的长度由硬件决定,3 误 差,3-3 浮点基本运算的误差1.浮点数及其
31、误差记=0.12t,*=0.12t,则x=2,x*=2*,显然,|*|0.1=2-1,所以,误差(舍入):|E|=|x*x|=|fl(x)x|=2|*|2 2-t=2t相对误差(舍入):,3 误 差,3-3 浮点基本运算的误差2.浮点数的四则运算 记fl(x)的相对舍入误差为则 fl(x)x=xx,|x|2t+1.由此得到浮点数四则运算产生的舍入误差为:fl(xy)=(xy)+(xy)1,2=(xy)(1+1,2)fl(xy)=(xy)(1+3)|x|2t+1 x=1,2,3,4.,fl(x)=x+xx=x(1+x),3 误 差,3-3 浮点基本运算的误差2.浮点数的四则运算例3-11 设x=
32、2101 0.101101,y=211 0.111101,求fl(xy).解:显然t=110(6位),10111=10 t对阶:y=2101 0.001111(01),右移2位 xy=2101(0.101101 0.001111)=2101 0.011110规格化:fl(xy)=2100 0.111100,3 误 差,3-3 浮点基本运算的误差2.浮点数的四则运算注:若x=2111 0.101101,y=21 0.111101,则1111=110 t,对阶时有:y=2111 0.000000(111101),右移6位,xy=2111(0.101101 0.000000)=2111 0.1011
33、01=x 大数吃小数,3 误 差,3-3 浮点基本运算的误差3.连加和连乘的误差例3-12 y=x1+x2+x3 的两种算法.解:(1)y=(x1+x2)+x3 fl(x1+x2)=(1+1)(x1+x2),fl(y)=(1+2)(fl(x1+x2)+x3)=(1+2)(1+1)(x1+x2)+x3=,考虑舍入误差的影响,3 误 差,3-3 浮点基本运算的误差3.连加和连乘的误差例3-12 y=x1+x2+x3 的两种算法.解:(1)y=(x1+x2)+x3(2)y=x1+(x2+x3)故应根据|x1+x2|还是|x2+x3|较小来选用(1)或(2).,3 误 差,3-3 浮点基本运算的误差3
34、.连加和连乘的误差说明:(1)连加的和是带有相对误差的各数(xk)(1+k)的精确和,诸相对误差限的大小因各数参加运算的先后次序而异.(2)连乘的运算与各数参加运算的先后次序无关.,3 误 差,3-4 数值方法的稳定性与算法设计原则1.选用稳定性好的算法,以控制误差的传播 例9 计算积分 n=0,1,2,7解:(1)In=1-nIn-1:(2):,3 误 差,3-4 数值方法的稳定性与算法设计原则2.四则运算的稳定性(1)防止大数吃小数 对位中 连加中的顺序:如在5位机上计算 52492=0.52492105,ai 0.9=0.000009105=0 应先计算,再与52492相加.,3 误 差
35、,3-4 数值方法的稳定性与算法设计原则2.四则运算的稳定性(2)避免相近两数相减 有效数位会严重损失 如x=1.232,y=1.231,在4位机上计算:z=x3 y3=(1.232)3(1.231)3=0.1870 101 0.1865 101=0.5 102,至多1位有效数字,3 误 差,3-4 数值方法的稳定性与算法设计原则2.四则运算的稳定性 如x=1.232,y=1.231,在4位机上计算:z=x3 y3=(1.232)3(1.231)3=0.1870 101 0.1865 101=0.5 102,至多1位有效数字改为:z=(x y)(x2+xy+y2)=0.1 102(0.1518
36、 101+0.1517 101+0.1515 101)=0.455 102,此时将有3位有效数字,3 误 差,3-4 数值方法的稳定性与算法设计原则2.四则运算的稳定性注:改变减法的例子,3 误 差,3-4 数值方法的稳定性与算法设计原则2.四则运算的稳定性(3)避免小数做除数和大数做乘数,3 误 差,3-4 数值方法的稳定性与算法设计原则3.提高算法效率(1)简化计算步骤,减少运算次数 如:x255=xx2x4x8x16x32x64x128 又如:计算pn(x)=anxn+an-1xn-1+a1x+a0 改为:(秦九韶法),3 误 差,3-4 数值方法的稳定性与算法设计原则3.提高算法效率(2)利用耗时少的运算 加比乘快,乘比除快(3)充分利用存储空间,