e书联盟电子书下载www.book118.com 目 录 第一章绪论 第一节 计算方法的研究对象和待点: (1) 第二节误差的来源和基本概念. 第三节 数值计算的若干原则: (5) 第四节典型例题分析. (7) 复习思考颗*. 习题 (10 数值实验一. (11) 第二章非线性方程求解. 根的隔离与二分法 (14 第一节洪代法。 (16 第三节 生模法及其形,++,42 第四节 解非线性方程组的牛顿法 第五节 骋因子法. (27) 第六节典整例题分析 30y 复习思考题. (34 数值实验二 (35 第三章线性方程组解法. (38) 第节消去法, 4〔38 第二节 矩阵分解法. 第三特 方程组的性态和条件数 (50】 第四节 洪代法, 第五节 典型例题分析 (62 复习思考题. 习题三 (65) 数值实验三. (66 第四章橘值法 (69 拉格朗日插值 第二节 牛顿插值公式 (74) 第三节 埃尔米特插值 第回节 分段多项式插值 第五节 三次样条插值 (84 第六节 典型例题分析 .(90) ·1
e书联盟电子书下载www.book118.com
e书联盟电子书下载w.book118.com 复习恩考题.(95》 数值实验四.。 (97 第五章曲线拟合法 (99 第-节最小二乘法原理和多项式拟合.(99) 第二节 般最小二乘拟合 (102 第三节正交多项式线拟合. (107) 第四节典形剖断分折 复习思考题. (114 习颖五. (111 教值实哈五, (115) 第六章 数值积分和数值微分 (117 第一节数值积分的基本概念, (117 第一节 牛顿一柯特斯公式 (120) 第三节 龙贝格求积法. (126 第四节高斯公式.。 (130 第五节 数值微分 (135 (138 复习思考题 (141) 习题六 (142 (113 第七意堂微分方程数俏醒法,. (145) 第 欧拉方法 (115 第二节 龙格一库塔决 (149) 第三节线性多步法. (153 第四节 一阶方程组与高阶方程初值问额. (159) 第万节收傲性与稳定性: (160 第六节 边值问题的数值解法 (162 第七节典型例题分析: (167) 复习恩考题. (170) 习题七 (170 数值实验七. (171 跗最一 自我检晒 (173 附录二 参考程序 (175 一、振的搜紫 .175 二、代数方程求根的劈因子法 176 三、解线性方程组的列主元素法 (180】 四、三次样条插值的三转角法· t181 五、外推加速求积法 (13 。2
e书联盟电子书下载www.book118.com
e书联盟电子书下载ww.bo6k118.e6m 第一章绪论 本章简要介绍计算方法的研究对象、内容和特点,讨论误差的基本概念,并且提出在数 值计算中应当普遍遵循的若干原则, 第一节计算方法的研究对象和特点 计算方法是现代数学的一个重要分支,它是在解决各种科学技术问题的过程中逐渐形 成的 门学科。计算机的问世和广泛使用,极大地则激和促进了该学科的进一步发展.目前。 科学计算方法已发展成为与科学理论、科学试验相并列的第三种科学方法,有着极为广泛的 应用。 利用计算机解决实际科学计算问题,一般需要经过以下几步骤: 夫际问题一数学模司一计%方安一表序设计一上我计弃结果 上述整个过程都可以看作是应用数学的任务,如果细分的话,对实际问题应用有关科学 知识和数学理论建立数学模型的过程,通常属于应用数学的研究范晴:根格数学模型分析确 定计算求解的方法并利用计算机算出结果的过程,则是计算数学的任务,也就是计算方法要 研究的对象,因此,慨括地说,计算方法的内容,就是研究求解各种数学问题的数值方法及其 理论,并且将方法在计算机上实现,求出问题的数值解。 由计算方法的研究内容可以看到,计算方法的一个明显特点是与计算机的使用密切结 合,具有实际试验的高度拉术性。因此,除学习课本上的理论知识外,还要注意程序编制和上 机计算等环节的学习和实践。 就理论知识而言,将重点介绍一些最基本,最典型的数值方法,主要包括数值逼近、数值 代数、数值微积分和微分方程数值解法等。值得指出的是,计算方法并不是各种数值方法的 简单罗列与堆积,而是有着自身的理论体系,其每都分内容都有如下结构: 计方祛(铁义) 一公式、算 计算方法 【理论分析一住、定牡,误拉分析等 其绝大部分方法都具有近似性,而其理论又具有严密的科学性方法的近似性正是建立在理 论的严密性基础上因此,根据计算方法的这一特点,在学习中不但要章握和使用算法,还要 适当重视必要的理论分析,这是计算结果可靠性的保证。 例1计算下式积分的值: 1=e-xedr(m=0l,.,9) (1-1) 解直接积分得 ·1
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com 1。=ee'dz=1-e1 再由分部积分法可建立递推公式 。=1-n。- (g=1.2,.,9) 1-2y 实际计算中,取【。=1-e1≈0.6321会1a,用式(1-2)递推,可得1.的近似值1.,即 1,-1-nl- (n=1,2,9) (1-3) 计算结果见表1-1. 表1-1 计算结果】. 冻确值1。 计算结梨。 准稀信。 +0.6321 0.63212 5 ↓0.1480 0.1d553 0.3675 0.36787 0.1120 0.12680- 0.2642 0.26424 0.218 0.】1238 0.2071 0.20727 -0.7280 0.10093. 0.1704 0.17089" 9 7.5520 0.09161■ 上述计算公式与每步计算过程都是正确的,因此计算结果1,似乎应当是可靠的,但是 对比表中【的准确值可以看到,计算所得1,、1,严重失真.可见,用一个理论上正确的公武进 行数值计算,也不一定能得到可靠的数值结果。那么,为什么计算结果会出现谬误呢?下面 对其进行误差分析。 由于实际计算中是以带有误差的1代督1进行计算,虽然误差-J,一1,≈0.2×10 很小,但用式(1-3)计算时,由引起以后各步的误差6,=1。一1满足关系式 =1.-1.=1-nl.-)-(1-n1-1) =-n(l1-1n1)=-e,-1 由此可得 e.=(-1)"n】c6 该式说明计算所得的1.的误差为初始的n!倍。例知,n心8时,1:的误差=8!≈0.8064, 竟比1,的准骑值约大7倍。因此,计算所得的1。完全不能近似1了。 从上述例子可以看到,即便使用正确的公式,也不能盲目相信其数值计算结果。对算法 进行必要的理论分析是十分重要的。 第二节误差的来源和基本概念 一、误差的来源 在用科学计算方法解快实际问题的过程中,会通到各种各样的误差,其来源主耍有四个 方面:①)据实际问题建立的数学模型,一般都要舍弃一些次要因素,进行简化和近似,由此 会产生模型误差。②数学慎型中常包含某些参数,需要通过观测确定,这时会产生观测误差 或参数误羞,③数学模型确定后,带要用某种数值方法进行计算求解,而许多数值方法都是 近似方法,即使计算过程绝对准确,计算的最终结果与数学模與的真解还会有误差,这就岩 .2
e书联盟电子书下载www.book118.com
e书联盟电子书下载ww.bo6k118.e6m 数值方法本身引起的方法误差或截断误差。④进行数值计算时,不论是用计算机还是其它 方式,对参与运算的数字的位数都是有限制的,对超过位数的数字需要进行舍入,使会产生 舍入误差。 模型误差和观测误差是在建立数学模型过程中产生的:截新误差和舍人误差则是在求 解数学模型的数值计算过程中产生的。因此,在计算方法范围内,主委讨论截断误差和舍入 误差,而对模型误差和观测误差不做讨论。裁断误差主要涉及方法的收敛性,舍入误差则莎 及到方法的稳定性」 二、基本概念 】。误差摄念 设工为准确值,x为其近似值,记 e=I-I' 6=- 称e为近似值x的绝对误差或误差,为x'的相对误差。 般来说,无法具体骗定,住往要根据情况估计l的一个较确切的上界,即 e=x一x.e 这样的称为x的绝对误差限或误差限,由此就可知道准确值x所在的范围 -er≤x”十e 在实际应用中,常把这个不等式记为 r=r士e 由于准确值x常常是不知道的,实际应用中总是将下式所得作为工·的相对误差。 记 ,=工 显然,是的上界,即e|≤,称6,为x的相对误差限 2.有效数宇 如果一个数的近似值的误差不超过某一位的半个单位,则从这一位开始,直到前面第 一位非零数学为止的所有数字,叫有效数字。 用四舍五入方法得到的近似数的误差都不超过其末位的半个单位·所以,从其最后一位 数字开始到前面第一位非零数字为止的所有数字,均是有效数学 例如,取π-3.141592653.的近似值分别为3.14、3.141、3.142、3.14159、3.141592时 其有效数字位数分别为3、3、4、6、6:而作为数0.05099666.的近似值,其值分别为0.051 0.0510、0.05100、0.0509、0.05099时,其有效数字位数分别为2、3、4、2、3. 三、有效数字与误差限的关系 设x的近似德x为 x”=士0.a1a2+a。X10° (1-4 其中m为整数、4.,4,分别是0到9中的某个数字,且a≠0。如果x具有位有效数 字,则有 ·3
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com lx-x1≤2×10" 即其绝对误差限为=×10”。在m相同的情况下,n越大,E越小。即有效数字位数越 多,饰对提差限越小 关于有效数字与相对误差限的关系,有下述定理。 定理1设x的近似值x“由式(1-4)表示,若x具有n位有效数字,则其相对误差限 为 反之,者x的相对误差限满足6≤2a十市×10,则工至少具有n位有效数字。 证由式(1-4)可得 aX10-1≤lx°≤(4+1)X101 当x有位有效数字时 -l<-a×10- I 反之,由下式 z-21=x'1≤a+1DX101×2a+D×10-"-2×10 可知x“有n位有效数字。证毕。 定理1表明,有效数字位数越多,相对误差限越小:反之亦然。 例2婴使√②0的近似值的相对误差限小于0.1%,应至少取几位有效数字? 解根据定理1,6≤公×106-”.由于√20=0.4.X10,知4=4。欲使 6≤×10-101<0.% 应至少取”=4,即取4位有效数字。 四、数值运算的误估计 已知y-f(x),x·为x的近假值,误差限为(x'),由y'=f(x')计算可得y的近似值 y,其误差限(y)可由泰勒(Tyo)公式进行估计 If(x)-f(x)川≈|f(x)(r-x)|≤1P(x)ie(x) 放有 e(y')≈f(x')E(x·) 对二元语数=f八(x,y),设x的近似值x“的误差限为e(x),y的近似值y的误差限 为(y),则由'=f(x'y)计算所得近似值x',其误差限ε(e)可由二元函数秦勒公式 估计 -1-e0-y122-r+2gy ≤3z2e+w 故有 4
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com e)≈2ir)+|〕c0) (1-5) 例如,近似值x,y的加、减、乘、除运算值的误差限为 e(x‘士y)(x)+e(y') ('lyle()+'ly) e≈(x*)+(y) (小≠0) 类似地,可以对多元西数数值运算的误差进行估计。 第三节数值计算的若干原则 误差分析在数值计算中是一个既重要又复杂的问题,因为几乎每步运算都有误差,而 个工程或科学计算问题往往需要进行千百万次计算,所以每步运算都分析误差几乎是不可 能的,也是不必要的,例如,运算过程中产生的误差有时会累积起来,有时又会相互抵消。人 们感兴趣的工作就是如何防止误差的积黑,这里提出数值计算的若干原则,将有助于提高计 算结果的可靠性,防止误差危害的发生。 一、使用数值稳定的算法 所谓算法,是指按某种规定的预序进行运算的一个运算序列,它是实施计算的其体方 案。在运算过程中舍入误差不增长的算法称为数值稳定的算法,否则称为数值不稳定的算 法。在数值计算中应采用数值稳定的算法,尽量避免使用数值不稳定的算法 例3将剑1中式(12)变形为 1.1=(1-1./m (n=10,9,.,1) (1-6) 由此式计算式(1-1)的积分值。 解根据积分估值定理,易知0<1,≤→0(+),据此粗略地取初值1≈0 ≌。即使这样,由式(1-6)递推,可得1-的近似值1,-1,即 1= (n=10,9,.,1) (1-7) 其计算所得的结果仍有较好的精度,见表12。 表1-2 计算结果1。 花确镇1。 计算结架1。 准稀液1。 0.1 0.170 .170 0.20721 0.251 0.26424 .3679 0.155 0.6321 0.63212 从理论上看,式(1-2)和式(1-6)是完全等价的,但其数值结果却大不相同,这就是算法 是否稳定的具体反映。在例1中,式(12)是数值不稳定的,式(1-6)则是数值稳定的。 事实上,设1有误差,即■1。一1,则由式(1-7)进行计算时,误差满足关系式 5*
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book1H8.e6m (0=10,9,.,1) 这说明误差是透步缩小的。若1有误差6,则1,的误差为=一。到1,的误差为 ,即比e缩小了10:倍。因此,即使初始误差较大,也不会对以后的计算结某造成 危害。可见选用数值稳定的算法的重要性 二、避免绝对值很小的数作除数 用绝对值很小的数作除数,会使误差增大。列如,设~的误差为0.5×10,则y一 的误差将为0.5×10/10-1=5000:再如,2.02/101=2.02×10,若分丹10有-很 小的误差0.01×107,即分母变为1.01×10~,则2.02/(1.01×10)=2.00×10,其误若 为2.02×101一2.00×10=2×10,是很大的. 此外,用绝对值很小的数作除数,还可能会因计算溢出而停机,所以应当尽量避免 三、避免两相近的数相减 两相近的数相诚,会严重损失有效数字,从而使误差限增大,所以应当避免这种滋算 例4利用式/)≈f在+f-的,求)=V行在=2处的导数值. 2h 解了(2)=2中么,康A=心01,在五包十法制计有机上计第,得 r2)≈.1gL4142-0 2×0.0001 与实际值(2)2元=0.353533.相此套无意义,这就是击于相近的数V2江方与 √2一相使有效数字损失贻尽造成的, 若把公式恒等变形为 了(2)≈2++2-月 同样取h=0.0001,在五位十进制计算机上计算,得 /(2)产1.442+1.1120.35356 却是精度很好的解。 上述例子说明,通过改变计算公式的形式或算法,可以避免或少有效数字的损失。类 似地,以下各式用右端计算就不致严重损失有效数字: ①当x和云接近时,用-n,=lh爱 ②当x很大时用可-√+后 ③当x接近于0时,用1-c0sx=2sin2亏. 如果无法改变算式,可采用增加有效数字位数进行运算,在计算机上可采用双精度运 算,以尽量避免误差危害现象的发生。 。6
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com 四、防止大数“吃掉”小数 在数值运算中参加运算的数,有时数量级相差很大,而计算机位数有限,若不注意运算 序,就可能出现大数“吃掉”小数的现象,影响结果的可靠性 例5在五位十进制计算机上计算下式的值。 A-51231+2a, 0.1≤≤0.9 解由于在计算机内计算时,各数要在规格化形式下对阶,于是51234=0.51234× 10,不妨设6=0.9,则0,9=0.0C0009×105,在五位十进制计算机中表示为机器数0。因此 计算机计算结果为 A=0.51234X103+0.000009×103+.+0.000009×10=0.51234×10 显然是不可幕的。这是由于运算中大数51234吃掉了小数8,造成的。 如果计算时合理安排计算顺序,先把数量级相同的1000个G相加,最后再加51234,就 不会出现大数“吃掉”小数的现象。这时 2a=0.9×10 于是计算结果为 A-0.51234×10+0.0090010=0.52134×10 所以,在编制程序时,要合理安排计算顺序,防止重要的物理力学参数被“吃掉” 五、简化计算步,减少运算次数 一个计算问题,如果衡诚少运算次数,不但可以节省计算时问和费用,还可以减少舍人 误差。这是数值计算必须遵从的原则,也是计算方法要研究的重要内容。例如,计算下列多 项式的值: P(x)=a.r'十a-1x十*十1x十a0 若直接计算每个一再逐项相加,需做乘法次数为 n+(n-1)+.+2+1=+1 缸法次数为和次。若采用泰九韶算法 (k=n一1,“,2,1,0) 只需要做m次乘法和n次加法就可算出P.(x)的值。 第四节典型例题分析 例6二次方程求根计算方案比较 求方程ax2+x+c=0的根,其中a=1,b=一(5X10+1),c=5×10。 解采用如下两种计算方案,在八位十进制计算机上计算。 7
e书联盟电子书下载www.book118.com