1、 1 / 233 第 1 章 数值计算引论 1 1 内容提要 一、 误差的来源 数值计算主要研究以下两类误差。 1 截断误差 数学模型的准确解与用数值方法求得的解的差称为截断误差,又称为方法误差。这种误差常常是由用有限过程代替无穷过程时产生的误差。例如,要计算级数 1 !1!1!31!211 k kn 的值,当用计算机计算时,用前 n 项(有限项)的和 nk kn 1 !1!1!31!211 来代替无穷项之和,即舍弃了 n项后边的无穷多项,因而产生了 截断误差 1 !1nk k 2 舍入误差 由于计算机字长为有限位,原始数据和四则运算过程中进行舍入所产生的误差称为舍入误差。例如,用 3.141
2、 59 表示圆周率 时产生的误差 0.000 002 6 ,用 0.333 33 表示1 3的运算结果时所产生的误差 1 3-0.333 33 = 0.000 003 3 都是舍入误差。 二 近似数的误差表示 1 绝对误差 设 x* 是准值 x 的一个近似值,称 * )( xxxe 为近似值 x* 的绝对误差,简称误差。 令 |)(| *xe 的一个上界为 * ,即 * |)(| xxxe 把 * 称为近似数 *x 的绝对误差限,简称误差限。 2 / 233 2 相对误差 设 *x 是精确值 x 的一个近似值,称 xxxxxe* )( 为近似值 x* 的相对误差。在实际应用中常取 * )(x
3、xxxer 为 *x 的相对误差。 令相对误差绝对值 |)(| *xer 的一个上界为 *r ,即 * * | |)(| rr x xxxe 把 *r 称为近似数 *x 的相对误差限。 3 有效数字 对有多位数字的准确值四舍五入原则得到其前若干位的近似值时,该近似值的绝对误差不超过末位的半个单位。 设数 x 的近似值 mnxxxx 10.0 21* ,其中, ix 是 09 之间的任一个数,但 ix 0,ni ,2,1 是正整数, m是整数,若 nmxx 1021| * 则称 *x 为 x 的具有 n位有效数字的近似值, *x 准确到第 n位, nxxx , 21 是 *x 的有效数字。 有效
4、数字位数越多,绝对误差越小。 4 有效数字和相对误差 若近似值 mnxxxx 10.0 21* 具有 n位有效数字,则其相对误差 )1(1* 1021| nr xe 有效数字位数越多,相对误差越小。 若近似值 mnxxxx 10.0 21* 的相对误差 3 / 233 )1(1* 10)1(2 1| nr xe 则该近似数 *x 至少有 n位有效数字。 三 数 值计算误差分析 1 函数运算误差 设一元函数 )(xf ,自变量 x 的近似值为 *x ,函数 )(xf 的近似值为 )( *xf ,则函数 )(xf的绝对误差限 )(|)(|)( * xxfxf 相对误差限 )(|)( )(|)( *
5、 xxf xfxfr 设多元函数 ),( 21 nxxxfy ,自变量 nxxx , 21 的近似值为 *2*1 , nxxx ,函数y 的近似值为 ),( *2*1* nxxxfy ,则函数 y 的绝对误差限 )(|)(|)( *1* xxfy ni i 相对误差限 *1* )(|)(|)( yxxfy ni i 上二式中 ini xxxxfxf ),()( *2*1* 2 算术运算误差 以 21,xx 两数为例,设 *2*1,xx 分别为准确值 21,xx 的近似值,其误差限分别为)(),( *2*1 xx ,则 )()(),( *2*1*2*1 xxxx )(|)(|)( *1*2*2*
6、1*2*1 xxxxxx 4 / 233 0,)( )(|)(|)( *22*2*1*2*2*1*2*1 xx xxxxxx 三 数值稳定性和减小运算误差 1 数值稳定性 在数值计算过程中,舍入误差在一定条件下能得到控制,或者说是舍入误差的增长不影响产生可靠的结果,则该计算是数值稳定的,否则是数值不稳定。在实际计算时,要选用数值稳定的方法,不稳定的数值方法不能使用。 2 减小运算误差 ( 1) 避免相近的数相减,防止有效数字位数损失。 ( 2) 防止大数“吃掉”小数,保护重要的物理参数。 ( 3) 绝对值小的数不宜做除数。 ( 4) 简化计算步骤,减少运算次数。 1 2 习题及解答 1已知 =
7、3.141 592 654S,问: ( 1)若其近似值取 5 位有效数字,则该近似值是多少?其误差限是多少? ( 2)若其近似值精确到小数点后面 4 位,则该近似值是什么?其误差限是什么? ( 3)若其近似值的绝对误差限为 5105.0 , 则该近似值是什么? 解 ( 1)近似值 * = 3.141 6,误差限 4* 1021 。 ( 2)和( 1)相同, * = 3.141 6, 4* 1021 。 ( 3) * = 3.141 59。 2下列各数都是经过四舍五入得到的近似值,求各数的绝对误差限、相对误差限和有效数字的位数。 ( 1) 3 580 解 绝对误差限 5.01021 0* 。 相
8、对误差限 %0 1 4.0104.13 5 8 05.0| 4* xr 。 经过四舍五入得到的近似值 3 580,其各位都是有效数字,故有 4 位有效数字。 ( 2) 0.047 6 解 绝对误差限 44* 105.01021 。 5 / 233 相对误差限 %11.00 0 1 0 5.00 4 7 6.0 105.0|4* xr 。 经过四舍五入得到的近似值 0.047 6,其各位都是有效数字,故有效数字的位数为 3 位。 ( 3) 30.120 解 绝对误差限 0005.01021 3* 相对误差限 %0 0 1 7.0120.30 0 0 0 5.0| * xr 经过四舍五入得到的近似
9、值 30.120,其各位都是有效数字,故有效数字的位数为 5 位。 ( 4) 5103012.0 解 绝对误差限 954* 105.0101021 相对误差限 %017.0103012.0 105.0| 59* xr 经过四舍五入得到的近似值 5103012.0 ,其各位都是有效数字,故有效数字的位数为4 位。 1 确定圆周率 如下近似值的绝对误差限、相对误差限,并求其有效数字的位数。 ( 1) 722解 722= 3.142 857 , =3.141 592 。 | -722| = | 3.141 592 - 3.142 857 | = 0.001 264 ,取绝对误差 *e =0.001
10、3,则相对误差 %0 4 1 3 8.00013.0| * xee r 或取绝对误差限 2* 1021005.0 。因为 m=1, m-n=-2, 所以 n=3, 有 3 位有效数字 。 此 时 相 对 误 差 限 %1 5 9.03 1 4.01021|2* xr 。 又 解 , 相 对 误 差 限%17.01032 1 )13(* r 。前者比后者更精确。 ( 2)712236 / 233 解 71223=3.140 84 , =3.141 59 。 | -71223| = | 3.141 59 - 3.140 84 | = 0.000 75 ,取绝对误差 *e =0.000 76,则相对
11、误差 %0 2 4 1 9.00 0 0 7 6.0| * xee r 或取绝对误差限 2* 1021005.0 。因为 m=1, m-n=-2, 所以 n=3, 有 3 位有效数字。此时相对误差限 %1 5 9.03 1 4.01021|2* xr 。 又解,相对误差限 %17.01032 1 )13(* r。前者比后者更精确。 ( 3)113355解 113355=3.141 592 92 , =3.141 59 。 | -113355| = | 3.141 592 654 - 3.141 592 920 | = 0.000 000 266 ,取绝对误差 *e=0.000 000 267,
12、 则相对误差 %0 0 0 0 0 8 5.00 0 0 0 0 0 2 6 7.0| * xee r或取绝对误差限 6* 10210 0 0 0 0 05.0 。因为 m=1, m-n=-6, 所以 n=7, 有 7 位有效数字。此时相对误差限 %0 00 0 1 59.03 14.01021|6* xr 。 又解,相对误差限 %0 0 0 0 1 7.01032 1 )17(* r。前者比后者更精确。 设 x =108.57 tln ,其近似值 *x 的相对误差 1.0)( * xe ,证明 *t 的相对误差 %1.0)( * ter 。 证 )(*xe =108.57( lnt - ln
13、t* ) = 108.57ln(*tt ) 0.1 0 0, 其近似数 *x 的相对误差限对 ,求 *lnx 的绝对误差和相对误差。 8 / 233 解 由函数运算的误差限 * |)(|)( xfxf ,并考虑到 x0,有 * )( ln)( ln ( xxx 或解 |ln|ln|lnln|)( ln * * x xxxxxxxx = |)1ln (|1ln|*x xx由函数运算的相对误差限 * |)( )(|)( xf xfxfr ,有 |ln|ln 1|ln )( ln|)( ln *xxxxxxr 8计算球体积 334 rV 时,为使 V 的相对误差不超过 0.3%,问半径 r 的相对误
14、差允许是多少? 解 设 r 的近似值为 *r , V 的近似值为 *V 解法 1: 根据定义 3*3*33*3*3*343434)( r rrrrrVe r =2*2*2*r rrrrr rr 注意到 2*rr ,有 )(33)()( *2* 2* rerrreVe rrr 令 | %3.0|)(3|)( * reVe rr ,可知半径 r 允许的相对误差 %1.0|)( * Ver 。 解法 2:利用数值运算误差估计公式(下面公式用 r 和 V 表示也可) )(4)()34()( 23 rrrrV %3.0|)(|334)(4|)(|)(|32 rrrrVVVrr 9 / 233 可得半径
15、r 的允许相对误差为 %1.03 %3.0|)(| rr 9 真空中自由落体运动距离 s和时间 t的关系 221gts,并设重力加速度 g是准确的。 而对 t 的测量有 1.0 s 的误差,证明当 t 增加时,距离 s 的绝对误差增加,而相对误差却减少。 解 由 221gts得 ds=gtdt,因而 )()( * tgtese )(221)()( * tetgttgteser 于是 |)(|)(| * tegtse |)(|2|)(| * tetse r 可见,当 |)(| te 固定时, |)(| *se 随着 t 的增加而增加,而 |)(| ter 却随着 t 的增加而减少。 10 求积分
16、值 10 8,1,0,5 ndxx xInn。 解 由 10 110 11 1555 ndxxdxx xxII nnnnn 可得两个递推计算方法。 方法 1: 8,2,1,511 nInI nn方法 2: 1,7,8),1(511 nInI nn方法 1 的初值 100 1 8 2 3.02.1ln5 dxx xI n 方法 2 的初值,利用广义积分中值定理 1,0,515151 10 ndxxI nn 所以 10 / 233 )1(5 1)1(6 1 nIn n取 0 2 0 3 7.0)451541(218 I 取 4 位有效数字进行计算,其结果如表 1-1 所示。 表 1-1 计 算 结
17、 果 nI 方法 1 方法 2 准确值 nI 方法 1 方法 2 准确值 0I 0.182 3 0.182 3 0.182 3 5I 0.095 75 0.028 46 0.028 47 1I 0.088 50 0.088 39 0.088 39 6I -0.312 1 0.024 39 0.024 33 2I 0.057 50 0.058 04 0.058 04 7I -1.703 0.020 93 0.021 23 3I 0.045 83 0.043 14 0.043 14 8I -8.392 0.020 37 0.018 84 4I 0.020 85 0.034 31 0.034 31
18、从计算结果可以看出,方法 1 在 6I 时已为负值,显然与 nI 0 矛盾,事实上 4I 和准确值相比已经连 1 位有效数字也没有了,这时因为当 0I 带有 41021 的误差时,这个初始数据的误差在以后的每次计算时顺次乘以 15 , 25 ,而传播到 nI 中,使得算到 4I 就完全不准确了。方法 2 在初始值 8I 时 1 位有效数字也没有,但倒推计算到 4I , 3I , 0I 时各位都是有效数字,这是因为递推公式的误差是按n51 减少的,是稳定的计算公式。 9 设 a=1 000,取 4 位有效数字用如下两个等价的式子 aax 1 和 aax 11进行计算,求 x 的近似值 *x ,并
19、将结果与准确值 x=0.015 807 437S 比较,各有多少位有效数字。 解 将 a=1 000 代入,取 4 位有效数字,有 02.062.3164.311 0 0 011 0 0 01* aax 11 / 233 0 1 5 8 1.062.3164.31 11 0 0 011 0 0 0 111* aax 与准确值 x=0.015 807 437 比较,因前者出现相近似数相减,计算结果只有 1 位有效数字,后者没有相近数相减,有 4 位有效数字。 10 计算 6)12( f ,取 4.12 ,利用下列等价的式子计算,得到的哪一个结果最好? ( 1)6)12(1;( 2) 3)223(
20、 ;( 3)3)223(1;( 4) 27099 解 第 (4)式和第 (2)式出现相似数相减,且第( 2)式计算量比第( 4)式大,二者都不可能得到好的运算结果。第( 1)式和第( 3)式均不出现相近数相减,但第( 1)式乘法运算次数 比第( 3)式多,而二都除法运算次数相同,故第( 1)式的计算量比第( 3)式大,第次乘除法运算都可能引入新的舍入误差,故只有第( 3)式能给出好的运算结果。 13利用四位数学用表求 o2cos1 ,比较不同方法计算所得结果的误差。 0 0 0 6.09 9 9 4.012c o s1 o 只有 1 位有效数字。 改用其它方法计算 422 10092.6999
21、4.1 03490.02c o s1 2s in2c o s1 ooo 具有 4 位有效数字。 42 1009.61s in22c o s1 oo 具有位为有效数字。 准确值 4100 9 1 7.62c o s1 o ,故以上三种计算方法的误差限分别是 4101.0 ,4100003.0 , 410002.0 。 14.用消元法解线性方程组。 21010 1515yxyx 若只用 3 位数计算,结果是否可靠? 解 用方程组的上式,得 210)110( 1515 y 即 110 210 1515y12 / 233 再将方程组的下式乘以 1510 ,减去上式,可得 1515 10)110( x
22、从面有 110101515x假定只用 3 位计算,则通过上述消元过程分别得到的方程组是 1515151510101010xy 从而得到原方程的解为 11yx 这个结果显然不可靠,因为在消元过程中发生了大数 “吃掉” 小数的现象。 15. 对反双曲线正弦函数 )1(1)( 2 xxnxf ,求 )30(f 的值。若开平方用 6位 函 数 表 , 问 求 对 数 时 误 差 有 多 大 。 若 改 用 另 一 等 价 公 式)1(1)1(1 22 xxnxxn 计算,问求对数误差有多大。 解 对于反曲线正弦函数 )13030(1)30( nf ,记 89930a ,若用 6 位的开平方 函数表,则
23、有 0 1 6 7.09 8 3 3.2930 a 故有绝对误差 41021)( a ,而 0167.0)30( f 于是有 003.0100167.0 5.0)(1)1()30( 4 aanaf 对于等价公式有 )13030(1)30( 2 nf 记 89930 b ,若用同样的 6 位的开平方函数表,有 13 / 233 9 8 3 3.599 8 3 3.2930 b 进而得到绝对误差 41021)( b 而 bf ln)30( ,使用误差传播公式 64 10834.0109833.59 5.0)(1)( ln)30( bbbf 16. 利用公式 982.27783 (有 5 位有效数字
24、),求方程 01562 xx 的两个根,使其至少具有 4 位有效数字。 解 求根公式 783282 4565622.1 x 解出 98.571 x 01786.098.55 178328 7832878328 22 x 或 0 1 7 8 6.098.55 1112 xx17. 用秦九韵算法计算 13)( 3 xxxp 在 2x 处的值。 解 秦九韵算法 ,1 knkkno axvv av nk ,2,1 由已知, 3n k=1 时, 2021,1 213 axvvav oo k=2 时, 1)3(22112 axvv k=3 时, 1)1(2123 oaxvv 所以, 1)2( p 。 或写
25、成紧凑形式 14 / 233 。 3 同步练习题及解答 1. 下列各数的是经四舍五入得到的近似值,试指出它们各有几位有效数字,并给出其差限与相对差限。 20.280,067.0,7021.4 321 xxx 解 1x 有 5 位有效数字,其误差限 ,1021 4 相对误差限7 02 1.41021 4 xr 0.0010634%。 2x 有 2 位有效数字,其误差限 31021 ,相对误差限0 67.01021 3 xr 0.746%。 2x 有 5 位有效数字,其误差限 21021 ,相对误差限20.2 801021 2 xr =001784%。 2. 设下列各对近似值均为有效数字,问它们是
26、否一样,若不一样有何区别。 ( 1) 45800 和 458 210 解 不一样,二者的有效数字和误差限均不同。 45800 的误差限21,有效数字的位数为 5 位。 210458 的误差限 21021 ,有效数字的位数为 3 位。 (2) 0.00438 和 0.04380 110 解 不一样,二者的有效数字和误差限均不同。 0.00438 的误差限 ,1021 5 有效数字的位数为 3 位。 0.04380 110 的误差限 61021 ,有效数字的位数为 4 位。 (3) 0.4015 210 和 0.04015 310 15 / 233 解 一样,二者的有效数字和误差限均相同。 0.4
27、015 210 和 31004015.0 的误差限均为, 21021 ,有效数字位数均为 4 位。 (4)9800 和 21098 解 不一样,二者的有效数字和误差限均不相同。 9800 的误差限,21,有效数字的位数为 4 位。 21098 的误差限 21021 ,有效数字的位数为 2 位。 ( 5) 0.8070 和 0.807 解 不一样,二者的有效数字和误差限均不相同。 0.8070 的误差限 41021 ,有效数字的位数为 4 位。 0.807 的误差限 31021 ,有效数字的位数为 3 位。 3. 求 10 的有效近似值吗,是相对误差不超过 0.1%。 解 方法 1: 3,1 6
28、 2 2 7 7 6.310 1 x,当有 n 位有效数字时。 )1()1(11032 1102 1 nnr x 3)1( 101032 1 n 比较上不等式有 3)1( n ,因此, 4n ,所以取 162.3x 。 方法 2:根据相对误差 xr ,有 xxx r ,所以 0012247.0162.31021 3 为确定有效数字的位数 n,取 310210 0 0 5.0 ,即 3 nm ,由于 m=1,所以 n=4。故取 162.3x 。 方法 3:解法 1 和解法 2 的结果都是偏于保守的。在解法 1 中,定理对所具有 n 位有效数字的近似值都正确,故对误差估计偏大。在解法 2 中,取绝
29、对误差限确定有效数字的位数 n 也是偏大的。对于本例题,根据上述的结论试取 3 位有效数字 2.45 进行试算,其相对误差 16 / 233 %1.0000721.016.3 16.310 实际已满足要求。 4. 已测得某房间长 ml 32.4 ,宽 md 12.3 ,已 ddmll ,01.0 m01.0 ,求房间的面积 lds 的误差限与相对误差限。 解 因 lds ,故 ladasdalas ,。由函数计算的误差估计,有 )()()()()( dadaslalass 其中, 01.0)(,32.4,12.3 dlladasdalas 。于是误差限 22 0 7 4 4.001.0)32.
30、412.3()( mms 相对误差限 %55.04 7 84.13 0 7 44.0)()()( dl ssssr 序列ny满足递推关系 ,10 1 nn yy ,2,1n 若 14.1,2 oo yy ,而 2102141.12 oo yy 于是有 101011011011 oooo yyyyyy 2111122 1010110110 yyyyyy 类推之,有 101010 yy 即计算到 10y ,其误差限为 1010 ,即若 oy 处有误差限为 ,则 10y 的误差限将扩大 1010 ,可见这个计算过程是不无能定的。 17 / 233 6. 如何计算下列函数值才比较精确? ( 1)xx
31、1 121 1对 1x 解 要是计算精确,应该避免两近似数相减,故变换所给公式 )1)(21()1)(21( )21()1(1 121 1 xx xxx xxxx ( 2) xxxx 11 对 1x 解 要是计算精确,应该避免两近似数相减,故变换所给公式 xxxx 11 = xxxxxxxxxxxxxxxxx11211211)1()1(( 3) dxxnn 21 11 ,当 n 充当大时 解 要是计算精确,应该避免两近似数相减,故变换所给公式 nnnn nnNNdxxnn )1(1 1a r c t a n)1(1 )1(a r c t a na r c t a n)1a r c t a n
32、(1 11 2 ( 4) 12 12 xe x 对 解 要是计算精确,应该避免两近似数相减,故变换所给公式 )(2 )(2 1222xxxxxxee eeee 第 2 章 非线性方程的数值解法 2.1 类容提要 一 初始近似值的搜索 1. 方程的根 对于一元非线性方程 oxf )( ,若 )(xf 为代数多项式,则称 oxf )( 为代数方程;18 / 233 是否称为超越方程。 ( 1)若存在 使x oxf )( ,则称 x 是方程的解或根,也称 x 是还是函数 )(xf 的零点或根。 ( 2)若函数 )(xf 可分解为 )(xf 0)(),( xgxgxx m 其中, m 是正整数;则称
33、x 是方程 oxf )( 的 m 重根。当 m=1 时,称 x 是方程 oxf )(的单根。 ( 3)设函数 )(xf 有 m 阶连续导数,方程 )(xf =0 有 m 重根 x 的充要条件是 0)()()( )1( xfxfxf m, 0)()( xf m ( 4)若方程 )(xf =0 在区间 ba, 内至少有一个根,则称 ba, 为有根区间。 定理 2-1 设函数 )(xf 在区间 ba, 上连续,且 0)()( bfaf ,则方程 )(xf =0 在 ba, 上至少有一个根。 ( 5)若在区间 ba, 上只有方程 )(xf =0 一个根,则称 ba, 为隔根区间 定理 2-2 设函数
34、)(xf 在区间 ba, 上单调连续,且 0)()( bfaf ,则方程 )(xf=0 在 ba, 上有且仅有一个根。 2区间二分法 通过计算隔根区间的中点,逐步缩小根区间,从而得到方程的近似根。 设函数 )(xf 在 ba, 上有一个实根 x ,通过中点2 baxo 将区间 ba, 二等分,得到新的有根区间 11,ba 是原区间 ba, 之半,重复以上过程有 kkk abab 2去区间 kkba,的中点k kkkbax 2 作为方程 )(xf =0 的根 x 的近似值,此时有 122 kkkkababxx 19 / 233 上式即为第 k 次近似值的误差估计式,当误差 给定时可用上式确定二分
35、的次数 k,即用 12 k ab 求二分次数 K。 二、 迭代法 1.迭代原理 将方程 f(x)=0 改写成等价方程 x=(x) 其中 (x)称为迭代函数。若 x*= (x*),则称 x*是 (x)的不动点,也是方程 f(x)=0 的根。构造迭代格式 Xk+1= (xk),k=0, 1, 当有初值 x0时,可求出 x1,x2,,若 xk limkxk = x* 则称 x*是方程 f(x)=0 的根。 2.迭代的收敛性 定理 2-3 设函数 (x)在 a,b上具有连续一阶导数,且满足 对任意 xa,b,有 (x) a,b; 存在 00),使 limk ek:1 ek p= c 则称序列 xk是
36、p 阶收敛的, c 称渐进误差常数。 20 / 233 定理 2-5 对迭代过程 xk+1= (xk),若 (p)(x)在所求根 x*的邻域连续,且 (x*)= (x*)= = (p-1)(x*)=0, p(x*)0 则迭代过程 xk+1= (xk)在 x*邻域 p 阶收敛,且有 limkek:1ekp =(p)(x*)p! 4.迭代的加速 ( 1)加权法 设 xk 是 x*的某个近似值,在 xk, x*上 ( x) 变化不大,其估计值为 c 时,有加权法加速公式 Xk+1= 11-c,(xk)-cxk- ( 2)埃特金加速和斯蒂文森迭代法 设 xk+1=(xk), xk+1=(xk+1),则
37、有 Xk+1=xk- (xk+1-xk)2xk+1-2xk+1:xk, k=0,1 上述方法称为埃特金加速法。 当 xk是由不动点迭代产生时,即 yk =(xk), zk= (yk)时,则有斯蒂文森迭代法 Xk+1=xk- (yk-xk)2zk-2yk:xk三、牛顿迭代法 1.迭代公式 Xk+1=xk-f(xk)f(xk), k=0,1 牛顿迭代法是将非线性方程 f(x)=0 逐步线性化,从而将非线性方程近似的转化为线性方程得到迭代序列的方法。 牛顿迭代法的几何意义是作曲线 y=f(x)在点( xk, f(xk))的切线方程 y- f(xk)=f(xk)(x-xk) 该方程与 x 轴交点的横坐
38、标就是根 x*的新的近似值 xk+1,所以牛顿迭代法又称牛顿切线法。 2.收敛速度 定理 2-6 设函数 f(x)满足 f(x*)=0,f(x*)0,且 f”(x)在 x*领域连续,则牛顿迭代法在 x*局部收敛,且至少二阶收敛。并有 limk xk:1-x*(xk-x*)2 =f“(x*)2f(x*) 3牛顿迭代法的修正 ( 1)简化牛顿法 为了避免每次迭代求导数,将牛顿迭代法修正为 21 / 233 Xk+1=xk-f(xk)c 其中, c 为某一常数,其几何意义是用各点 xk处的斜率均为 c 的平行弦代替相应点的切线,因此通常称为平行弦法。 ( 2)牛顿下山法 牛顿切线法是一种局部收敛方法
39、,要求初值 x0 在 x*领域时迭代方法才收敛,为防止迭代发散或迭代值 偏离所求的根,对迭代过程附加下山条件 f(xk+1) 1 时, x*为 m 重根,此时牛顿迭代法只有线性收敛。为使重根时迭代仍至少有二阶收敛可用如下修正公式,当重根数 m 已知时,修正牛顿公式 Xk+1=xk-mf(xk)f(xk), k=0,1 当重根数未知时,修正牛顿公式 Xk+1=xk- f(xk)f(xk),f(xk)-2-f(xk)f“(xk), k=0,1 四、截弦法 用差商 f(xk)-f(x0)xk-x0和 f(xk)-f(xk-1)xk-xk-1代替牛顿迭代公式中的导数 f(xk)即得弦截法,前者是单点弦
40、法,后者是双点弦法(又称快速弦法),其几何意义是用过两个点的弦代替牛顿迭代法的切线,双点弦法的收敛速度仅稍慢于牛顿迭代法,远快于不动点迭代法,是超线性收敛。 2.2 习题及解答 1.求方程 x3-1.8x2+0.15x+0.65=0 的有根区间。 解:设连续函数 f(x)= x3-1.8x2+0.15x+0.65,由于 f(-1)0, f(x)在区间 -1, 2上至少有一个实根。 取 h=2-(-1)4 =0.75 为步长,从 x=0 出发,向右进行根的搜索,结果列表如下: x -1 -0.25 0.5 1.25 2 f(x) -2.3 0.484 0.55 -0.0219 1.75 可以看出
41、,在 -1, -0.25, 0.5,1.25, 1.25,2各区间内至少有一个实根。 22 / 233 2.用区间二分法求方程 x5+3x-1=0 的最小正根,要求误差不超过 12 10-2。 解 记 f(x)= x5+3x-1,则 f(0)=-10,所以最小正根 x*0,0.5。 用区间二分法求解,要使 xk-x* 12 10-2,只要 12k:1 (0.5-0) 12 10-2 解得 k 2lg2 -1 = 5.64,取 k=6,只要二分 6 次,即可求的满足精度要求的最小正根,计算过程如表 2-1 所示,取 x*x6=0.33。 表 2-1 计算过程 k ak bk xk f(xk) 0
42、 1 2 3 4 5 6 0 0.25 0.25 0.312 5 0.312 5 0.328 125 0.328 125 0.5 0.5 0.375 0.375 0.343 75 0.343 75 0.335 937 5 0.25 0.375 0.312 5 0.343 75 0.328 125 0.335 937 5 0.332 031 25 - + - + - + 3.用区间二分法求方程 x3-x-1=0 在 1, 2的近似根,误差小于 10-3 至少要二分多少次? 解 设连续函数 f(x)=x3-x-1,则 f(3x2-1),在区间 1, 2上 f(x)0 单调连续,且 f(1)=-10
43、,所以 f(x)在区间 1,2上只有一个根。 由二分法误差估计式 x*-xn 12n+1(b-a)lg(b-a):3lg2 -1 = 3lg2 -1 = 8.966 即误差小于 10-3至少要二分 9次。 计算过程如表 2-2 所示,取 x*=1.325。 表 2-2 计算过程 n an f(an) bn f(bn) xn f(xn) 0 1 2 3 4 5 6 7 8 9 1.000 0 1.250 0 1.312 5 1.320 4 1.324 2 2.000 0 1.500 0 1.375 0 1.343 8 1.328 2 1.328 2 + + + + + + 1.500 0 1.2
44、50 0 1.375 0 1.312 5 1.343 8 1.328 2 1.320 4 1.324 3 1.326 3 1.325 3 + + + + + 4.给定函数 f(x),对任意 x, f(x)存在,且 0 1 , = - 1 1 , 2 , 3 )2( ) |( ) = 1 +kkkx x x x x x x kxxx ( 4 ) , ( ( ) , ( ) , ( ) 迭 代 格 式 ( 不满 足 收 敛 定 理 , 由 上 所 述 第 ( 1 ) 与 第 ( 2 ) 两 种 迭 代 格 式 都 满 足 收 敛 定 理 , 但 第 ( 2 ) 种 迭 代 格中 对 应 的 | 小 于 第 ( 1 ) 种 迭 代 格 式 , 故 第 ( 2 ) 收 敛 比 ( 1 ) 快 , 取 第 ( 2 ) 种 , k=0-3x1 . 2 . 3 并 用 最 初 的 =1.5 计 算 , 结 果 如 表 2 所