0.1算法
1、 (p.11,题1)用二分法求方程x?x?1?0在[1,2]内的近似根,要求误差不
3超过10-3.
【解】 由二分法的误差估计式|x*?xk|?2k?1?1000.两端取自然对数得k?b?a1????10?3,得到k?1k?1223ln10?1?8.96,因此取k?9,即至少需ln2二分9次.求解过程见下表。 k 0 1 2 3 4 5 6 7 8 9 ak 1 bk 2 xk 1.5 f(xk)符号 + x2、(p.11,题2) 证明方程f(x)?e?10x?2在区间[0,1]内有唯一个实根;使用
1二分法求这一实根,要求误差不超过?10?2。
2【解】 由于f(x)?ex?10x?2,则f(x)在区间[0,1]上连续,且
f(0)?e0?10?0?2??1?0,f(1)?e1?10?1?2?e?8?0,即f(0)?f(1)?0,由连续函数的介值定理知,f(x)在区间[0,1]上至少有一个零点.
又f'(x)?ex?10?0,即f(x)在区间[0,1]上是单调的,故f(x)在区间[0,1]内有唯一实根.
b?a11由二分法的误差估计式|x*?xk|?k?1?k?1????10?2,得到2k?100.
2222ln10?2?3.3219?6.6438,因此取k?7,即至少需二分两端取自然对数得k?ln27次.求解过程见下表。 k 0 1 2 3
ak 0 bk 1 xk 0.5 f(xk)符号
4 5 6 7 0.2误差
1.(p.12,题8)已知e=2.71828…,试问其近似值x1?2.7,x2?2.71,x2=2.71,x3?2.718各有几位有效数字?并给出它们的相对误差限。
【解】有效数字:
1?10?1,所以x1?2.7有两位有效数字; 21?1因为|e?x2|?0.00828??0.05??10,所以x2?2.71亦有两位有效数字;
21?3因为|e?x3|?0.00028??0.0005??10,所以x3?2.718有四位有效数字;
2因为|e?x1|?0.01828??0.05??r1??r2?|e?x1|0.05??1.85%; x12.7|e?x2|0.05??1.85%; x22.71|e?x3|0.0005??0.0184%。 x32.718?r3?评 (1)经四舍五入得到的近似数,其所有数字均为有效数字;
(2)近似数的所有数字并非都是有效数字.
2.(p.12,题9)设x1?2.72,x2?2.71828,x3?0.0718均为经过四舍五入得出的近似值,试指明它们的绝对误差(限)与相对误差(限)。
【解】 ?1?0.005,?r1??1x1?0.005?1.84?10?3; 2.72?0.000005?1.84?10?6;
2.71828?2?0.000005,?r2??2x2??3?0.00005,?r3??3x30.00005?6.96?10?4;
0.0718评 经四舍五入得到的近似数,其绝对误差限为其末位数字所在位的半个单位.
3.(p.12,题10)已知x1?1.42,x2??0.0184,x3?184?10?4的绝对误差限均为
0.5?10?2,问它们各有几位有效数字?
【解】 由绝对误差限均为0.5?10?2知有效数字应从小数点后两位算起,故x1?1.42,有
三位;x2??0.0184有一位;而x3?184?10?4?0.0184,也是有一位。
1.1泰勒插值和拉格朗日插值
1、(p.54,习题1)求作f(x)?sinx在节点x0?0的5次泰勒插值多项式p5(x),并计算
p5(0.3367)和估计插值误差,最后将p5(0.5)有效数值与精确解进行比较。
(x)?cosx;f(2)(x)??sinx;f(3)(x)??cosx;f(4)(x)?sinx;f(5)(x)?cosx;f(6)(x)??sinx,所以
f(2)(x0)f(5)(x0)(1)2?f(x0)?f(x0)(x?x0)?(x?x0)???(x?x0)5 p5(x)
2!5!f(2)(0)2f(5)(0)5(1)?f(0)?f(0)x?x???x
2!5!11?x?x3?x5
3!5!|f(6)(?)||sin(?)|1(x?x0)6?(x?x0)6?x6,若x?0.5,则 插值误差:R5(x)?6!6!6!0.336730.33675??0.3303742887,而p5(0.3367)?0.3367?3!5!0.33676R5(0.3367)??2.02?10?6?0.5?10?5,精度到小数点后5位,
6!)?sin(0.3367)?0.330374191?相比故取p5(0.3367)?0.33037,与精确值f(0.3367【解】由f(x)?sinx,求得f较,在插值误差的精度内完全吻合!
2、(p.55,题12)给定节点x0??1,x1?1,x2?3,x3?4,试分别对下列函数导出拉格朗日余项:
(1)f(x)?4x?3x?2; (2)f(x)?x?2x
433(1)f(4)(?)3【解】依题意,n?3,拉格朗日余项公式为 R3(x)??(x?xi)
4!i?0(1)f(4)(x)?0 → R3(x)?0;
(4)(2)因为f(x)?4!,所以
f(4)(?)R3(x)?(x?1)(x?1)(x?3)(x?4)?(x?1)(x?1)(x?3)(x?4)
4!)的近3、(p.55,题13)依据下列数据表,试用线性插值和抛物线插值分别计算sin(0.3367似值并估计误差。
i xi sin(xi)
0 0.32 0.314567 1 0.34 0.333487 2 0.36 0.352274 f(4)(?)3【解】依题意,n?3,拉格朗日余项公式为 R3(x)?(x?xi) ?4!i?0(1) 线性插值
因为x?0.3367在节点x0和x1之间,先估计误差
R1(x)?max(x?x0)(x1?x)f''(?)sin(?)(x?x0)(x?x1)?(x?x0)(x1?x)? 2!220.0121???104;须保留到小数点后4为,计算过程多余两位。
22y(x1-x0)2/4y=(x-x0)(x-x1)0P1(x) ?P1(x) ?
x0x1x
x?x0x?x11?(x?x0)sin(x1)?(x1?x)sin(x0)? sin(x0)?sin(x1)?x0?x1x1?x0x1?x01?(0.3367?0.32)sin(0.34)?(0.34?0.3367)sin(0.32)? 0.021?0.0167?sin(0.34)?0.0033?sin(0.32)? ?0.02?0.3304
(2) 抛物线插值 插值误差:
?R2(x)
f'''(?)?cos(?)(x?x0)(x?x1)(x?x2)?(x?x0)(x1?x)(x?x2) 3!6max(x?x0)(x1?x)(x2?x)3?0.0131????10?6
662yy=(x-x0)(x-x1)(x-x2)Max=3(x1-x0)3/80抛物线插值公式为:
x0x1x2x
P2(x)
?(x?x0)(x?x2)(x?x1)(x?x0)(x?x1)(x?x2)sin(x0)?sin(x1)?sin(x2)
(x0?x1)(x0?x2)(x1?x0)(x1?x2)(x2?x1)(x2?x0)?(x1?x)(x?x0)1?(x1?x)(x2?x)?sin(x)?(x?x)(x?x)sin(x)?sin(x)00212?220.022???P2(0.3367)
10?5?3.8445?sin(0.32)?38.911?sin(0.34)?2.7555?sin(0.36)? ?0.02210?5?3.8445?sin(0.32)?38.911?sin(0.34)?2.7555?sin(0.36)? ?0.33037439? ?20.02经四舍五入后得:P2(0.3367,与sin(0.3367)?0.330374191?精确值相比)?0.330374较,在插值误差范围内完全吻合!
1.3分段插值与样条函数
?x3?x21、(p.56,习题33)设分段多项式 S(x)??322x?bx?cx?1?是以0,1,2为节点的三次样条函数,试确定系数b,c的值.
【解】依题意,要求S(x)在x=1节点
0?x?1
1?x?2
S?(1)?13?12?2?13?b?12?c?1?1?S?(1),
即:b?c?1(1)
''一阶导数连续: S?(1)?3?12?2?1?6?12?2?b?1?c?S?(1),
即:2b?c??1(2) 解方程组(1)和(2),得b??2,c?3,即
函数值连续:
导数亦连续。
?x3?x20?x?1 S(x)??321?x?2?2x?2x?3x?1''''由于S?所以S(x) 在x=1节点的二阶(1)?3?2?1?2?6?2?1?2?2?S?(1),
2、 已知函数y?1 的一组数据,x0?0,x1?1,x2?2和y0?1,y1?0.5,y2?0.2,21?x(1)求其分段线性插值函数;
(2)计算f(1.5)的近似值,并根据余项表达式估计误差。
【解】(1)依题意,将x分为[0,1]和[1,2]两段,对应的插值函数为S1(x)和S2(x),利用拉格朗日线性插值公式,求得
S1(x)?x?x0x?x1x?1x?0y0?y1??1??0.5??0.5x?1;
x0?x1x1?x00?11?0x?x2x?x1x?2x?1y1?y2??0.5??0.2??0.3x?0.8
x1?x2x2?x11?22?11?0.30769230769?,而 S2(1.5)??0.3?1.5?0.8?0.35,21?1.5
S2(x)?(2)f(1.5)?实际误差为:|f(1.5)?S2(1.5)|?0.0423??0.05。
由f(1)?2x(x)?,22(1?x)f(2)?2(1?3x2)(x)?,23(1?x)f(3)24x(1?x2),可(x)?24(1?x)知M2?f(2)(1)?0.5,则余项表达式
M|f(2)(?)|R(x)?|(x?1)(x?2)|?2?0.52?0.54?0.0625?0.5
2!2!1.4 曲线拟合
1、(p.57,习题35)用最小二乘法解下列超定方程组:
?2x?4y?11?3x?5y?3? ??x?2y?6??2x?y?7 Q(x,y)?(2x?4y?11)2?(3x?5y?3)2?(x?2y?6)2?(2x?y?7)2,
【解】 构造残差平方和函数如下:
分别就Q对x和y求偏导数,并令其为零:
?Q(x,y)?0: 6x?y?17?x?Q(x,y)?0: ?3x?46y?48?y解方程组(1)和(2),得
(1), (2),
6?48?3?17?1.24176
273
x?46?17?48?3.04029,273y?2、(p.57,习题37)用最小二乘法求形如y?a?bx2 的多项式,使之与下列数据相拟合。 【解】令X?x,则y?a?bX为线性拟合,根据公式(p.39,公式43),取m=2,a1=0,N=5,求得
555?25a?b?Xi?5a?b?xi??yi(1)??i?1i?1i?1?555555?a?Xi?b?Xi2?a?xi2?b?xi4??Xiyi??xi2yi?i?1i?1i?1i?1i?1?i?12 ;
(2) 依据上式中的求和项,列出下表
xi 19 25 31 38 44 yi 19 32.3 49 73.3 97.8 Xi (=xi2) 361 625 961 1444 1936 Xi2(=xi4) 130321 390625 923521 2085136 3748096 ∑
157 271.4 5327 7277699 Xi yi (=xi2yi) 6859 20187.5 47089 105845.2 189340.8 369321.5 将所求得的系数代入方程组(1)和(2),得
5a0?5327b?271.4??b?369321.5?5327a0?7277699a?(1)(2)
271.4?7277699?369321.5?53277791878.1??0.97258;
5?7277699?5327?532780115665?369321.5?5327?271.4400859.7b???0.05004;
5?7277699?5327?53278011566即:y?0.97258?0.05004x。
2
2.1 机械求积和插值求积
1、(p.94,习题3)确定下列求积公式中的待定参数,使其代数精度尽量高,并指明求积公式所具有的代数精度:
(1)?f(x)dx?A0f(?h)?A1f(0)?A2f(h);
?h1h113(2)?f(x)dx?A0f()?A1f()?A2f();
042411(3)?f(x)dx?f(0)?A0f(x0)。
04【解】 (1)令f(x)?1,x,x2时等式精确成立,可列出如下方程组:
?(1)?A0?A1?A2?2h?(2) ??A0?A2?0?2A?A?h(3)2?03?hh4h 解得:A0?A2?,A1?h,即:?f(x)dx?[f(?h)?4f(0)?f(h)],可以
?h333验证,对f(x)?x3公式亦成立,而对f(x)?x4不成立,故公式(1)具有3次代数精度。
(2)令f(x)?1,x,x2时等式精确成立,可列出如下方程组:
(1)?A0?A1?A2?1?(2) ?A0?2A1?3A2?2?3A?12A?27A?16(3)12?01211113,A1??,即:?f(x)dx?[2f()?f()?2f()],可以
0333424验证,对f(x)?x3公式亦成立,而对f(x)?x4不成立,故公式(2)具有3次代数精度。
解得:A0?A2?3?A??04(3)令f(x)?1,x时等式精确成立,可解得:?
2?x0?3?11322即: ?f(x)dx?f(0)?f(),可以验证,对f(x)?x公式亦成立,而对
0443f(x)?x3不成立,故公式(3)具有2次代数精度。
1132、(p.95,习题6)给定求积节点x0?,x1?, 试构造计算积分I??f(x)dx的插值型
044求积公式,并指明该求积公式的代数精度。
【解】依题意,先求插值求积系数:
311x?x11314?dx??2?(x2?x)?1; A0???dx??0x?x013240201?44x?
111x?x111204?dx?2?(x?x)?1; A1???dx??0x?x031240210?44x?插值求积公式:
1?
0f(x)dx??Akf(xk)?k?0n1113f()?f() 2424①当f(x)?1,左边=
?10111f(x)dx?1;右边=?1??1?1;左=右;
221f(x)dx?x221
②当f(x)?x,左边=
?0?0111131;右边=????;左=右; 224242
③当f(x)?x2,左边=
?101119511???;右边=?左≠右; f(x)dx?x3?;
216216163031故该插值求积公式具有一次代数精度。
2.2 梯形公式和Simpson公式
1、(p.95,习题9)设已给出f(x)?1?e?xsin4x的数据表,
x f(x) 0.00 1.000 00 0.25 1.655 34 10.50 1.551 52 0.75 1.066 66 1.00 0.721 59 分别用复化梯形法与复化辛普生法求积分I?【解】 (1)用复化梯形法:
?0f(x)?dx的近似值。
b?a1??0.25n4n?1n?1hhT5??[f(xk)?f(xk?1)]?[f(a)?2?f(xk)?f(b)]2k?02k?10.25T5??{f(0.00)?2?[f(0.25)?f(0.50)?f(0.75)]?f(1.00)}
2T5?0.125?[1.00000?2?(1.65534?1.55152?1.06666)?0.72159]a?0,b?1,n?5,h?T5?1.28358
(2)用复化辛普生法:
a?0,b?1,n?2,h?n?1b?a1??0.5n2n?1n?1hhS2??[f(xk)?4f(x1)?f(xk?1)]?[f(a)?4?f(x1)?2?f(xk)?f(b)]k?k?6k?06k?0k?1220.5?{f(0.00)?4?[f(0.25)?f(0.75)]?2?f(0.50)?f(1.00)}61S2??[1.00000?10.888?3.10304?0.72159]?1.3093912S2?
2、(p.95,习题10)设用复化梯形法计算积分I?1x?10?5,,为使截断误差不超过edx?021问应当划分区间【0,1】为多少等分?如果改用复化辛普生法呢?
【解】(1)用复化梯形法, a?0,b?1,f(x)?f'(x)?f''(x)?ex,设需划分n等分,则其截断误差表达式为:
(b?a)3(1?0)3|RT|?|I?Tn|?maxf''(?)?e; 2312n12n依题意,要求|RT|?1?10?5,即 2e1e?105?52??10?n??212.849,可取n?213。 22612n(2)用复化辛普生法, a?0,b?1,f(x)?f'(x)?f''''(x)?ex,截断误差表达式为:
(b?a)5(1?0)5e; |RS|?|I?Sn|?maxf''''(?)?e?444180(2n)2880n2880n依题意,要求|RS|?1?10?5,即 2e1e?105?54??10?n??3.70666,可取n?4,划分8等分。
14402880n42
2.3 数值微分
1、(p.96,习题24)导出三点公式(51)、(52)和(53)的余项表达式
1[?3f(x0)?4f(x1)?f(x2)]2h1f'(x1)?[?f(x0)?f(x2)]2h1f'(x2)?[f(x0)?4f(x1)?3f(x2)]2hf'(x0)?(51)(52)(53)
【解】如果只求节点上的导数值,利用插值型求导公式得到的余项表达式为
f(n?1)(?k)nR(xk)?f'(xk)?p'(xk)???(xk?xj)
(n?1)!j?0j?k由三点公式(51)、(52)和(53)可知,n?2,h?x1?x0?x2?x1,则
f(2?1)(?0)2f'''(?0)f'''(?0)2R(x0)???(x0?xj)?(x0?x1)(x0?x2)?h
(2?1)!3!3j?1
f'''(?0)2f(2?1)(?1)2f'''(?1)R(x1)???(x1?xj)?(x1?x0)(x1?x2)??h
(2?1)!3!6j?0j?1
f(2?1)(?2)2f'''(?2)f'''(?2)2R(x2)???(x2?xj)?(x2?x0)(x2?x1)??h
(2?1)!3!3j?0j?22、(p.96,习题25)设已给出f(x)?x f(x) 1的数据表, 2(1?x)1.1 0.2268 1.2 0.2066 1.0 0.2500 试用三点公式计算f'(1.0),f'(1.1),f'(1.2)的值,并估计误差。
【解】已知x0?1.0,x1?1.1,x2?1.2,h?x1?x0?x2?x1?0.1,用三点公式计算微商:
11[?3f(1.0)?4f(1.1)?f(1.2)]?[?3?0.2500?4?0.2268?0.2066]??0.24702h2?0.111f'(1.1)?[?f(1.0)?f(1.2)]?[?0.2500?0.2066]??0.21702h2?0.111f'(1.2)?[f(1.0)?4f(1.1)?3f(1.2)]?[0.2500?4?0.2268?3?0.2066]??0.18702h2?0.11?26?24, f(x)?;?f'(x)?;?f''(x)?;?f'''(x)?2345(1?x)(1?x)(1?x)(1?x)f'(1.0)?用余项表达式计算误差
R(1.1)??f'''(?0)2?24?0.12R(1.0)?h???0.002533(1?1.0)5f'''(?1)224?0.123!h?3!(1?1.0)5?0.00125f'''(?2)2?24?0.12R(1.2)?h???0.04967 533(1?1.1)3、(p.96,习题26)设f(x)?sinx,分别取步长h?0.1,0.01,0.001,用中点公式(52)计算f'(0.8)的值,令中间数据保留小数点后第6位。 【解】中心差商公式:f'(a)?f(a?h)?f(a?h)f'''(a)2h。可,截断误差:R(h)?2h3!见步长h越小,截断误差亦越小。
(1) h?0.1,x0?0.8?h?0.7,x2?0.8?h?0.9,则
11[sin(0.9)?sin(0.7)]?[0.783327?0.644218]?0.695545; 2h2?0.1(2) h?0.01,x0?0.8?h?0.79,x2?0.8?h?0.81,则
11f'(0.8)?[sin(0.81)?sin(0.79)]?[0.724287?0.710353]?0.6967
2h2?0.01(3) h?0.001,x0?0.8?h?0.799,x2?0.8?h?0.801,则
f'(0.8)?
f'(0.8)?11[sin(0.801)?sin(0.799)]?[0.718052?0.716659]?0.69652h2?0.01?,可见当h?0.01时得到的误差最小。在而精确值f'(0.8)?cos(0.8)?0.6967067h?0.001时反而误差增大的原因是f(0.8?h)与f(0.8?h)很接近,直接相减会造成有效
数字的严重损失。因此,从舍入误差的角度看,步长不宜太小。
3.1 Euler格式
1、(p.124,题1)列出求解下列初值问题的欧拉格式
(1)y'?x2?y2(0?x?0.4),y(0)?1,取h?0.2;
y?y?(2)y'????x?x?
2(1?x?1.2),y(0)?1,取h?0.2;
2222【解】 (1)yn?1?yn?hy'n?yn?h(xn?yn)?yn?0.2?(xn?yn);
(2)yn?122ynynyny?yn?h(2?)?yn?0.2?(2?n)。
xnxnxnxn2、(p.124,题2)取h?0.2,用欧拉方法求解初值问题y'??y?xy2(0?x?0.6),
y(0)?1。
22【解】欧拉格式:yn?1?yn?hy'n?yn?h(?yn?xnyn)?yn?0.2?(?yn?xnyn);化2简后,yn?1?0.8yn?0.2xnyn,计算结果见下表。
n xn yn 0 0.0 1.0 1 0.2 0.8 2 0.4 0.6144 3 0.6 0.4613 3、(p.124,题3)取h?0.1,用欧拉方法求解初值问题y'?1?2y2(0?x?4),21?xy(0)?0。并与精确解y?2x1比较计算结果。
1?x2【解】欧拉格式:yn?1?yn?hy'n?yn?h(1122?2y)?y?0.2?(?2yn);nn221?xn1?xn化简后,yn?1?yn?0.4yn?20.2,计算结果见下表。 21?xn 1、(p.124,题7)用改进的欧拉方法求解上述题2,并比较计算结果。
【解】 因为y'?f(x,y)??y?xy2(0?x?0.6),h?0.2,且y(0)?1,则改进的欧拉公式:
?22?yp?yn?hf(xn,yn)?yn?h(?yn?xnyn)?0.8yn?0.2xnyn?22?yc?yn?hf(xn,yp)?yn?h(?yp?xnyp)?yn?0.2?(yp?xnyp)。 ?(yp?yc)?yn?1?2?计算结果见下表。
n xn yp yc yn 与原结果比较见下表 0 0.0 1.0 0.76 0.88 0 0.0 1.0 0.88 1 0.2 0.6730 0.7092 0.6911 1 0.2 0.8 0.6911 2 0.4 0.5147 0.5564 0.5356 2 0.4 0.6144 0.5356 3 0.6 0.3941 0.4319 0.413 3 0.6 0.4613 0.413 n xn yn yn(改进)
3.3 龙格-库塔方法
1、(p.124,题11)用四阶经典的龙格-库塔方法求解初值问题y'?8?3y,y(0)?2,试取步长h?0.2计算y(0.4)的近似值,要求小数点后保留4位数字。
【解】 四阶经典的龙格-库塔方法公式:
?h?yn?1?yn?(K1?2K2?2K3?K4)6??K1?f(xn,yn)?h?; K?f(x,y?K1)?21nn?22??h?K3?f(x1,yn?K2)n?2?2?K?f(x,y?hK)n?1n3?4列表求得y(0.4)如下:
n 0 1 2 xn 0.0 0.2 0.4 yn 2.000 2.3004 2.4654
4.1 迭代法及收敛定理
1、(p.153,题1)试取x0?1,用迭代公式xk?1?32202xk?2xk?10(k?0,1,2,?),求
方程x?2x?10x?20?0的根,要求准确到10。
【解】 迭代计算结果列于下表 ?3k 1 2 3 4 5 xk 1.53846 1.29502 1.40182 1.35421 1.37530
|xk-xk-1| 0.53846 0.24344 0.10680 0.04761 0.02109 <0.001 N N N N N k 6 7 8 9 xk 1.36593 1.37009 1.36824 1.36906 |xk-xk-1| 0.00937 0.00416 0.00185 0.00082 <0.001 N N N Y 因为|x9?x8|?0.00082?10?3,所以x??x9?1.36906。 2、(p.153,题2)证明方程x?代过程xk?1?1cosx有且仅有一实根。试确定这样的区间[a,b],使迭21cosxk对x0?[a,b]均收敛。 21111【证明】设:g(x)?cosx,则当x?R时,g(x)?cosx?[?,],且一阶导数
22221111g'(x)??sinx连续, |g'(x)|?|?sinx|??1,所以迭代过程xk?1?cosxk对
22221(压缩映像定理),方程x?cosx有且仅有一实根。<证毕> x0?R均收敛。
23、(p.153,题4)证明迭代过程xk?1?xk1对任意初值x0?1均收敛于2。 ?2xkg(x)?【证明】设:
x1x1x1?,对于任意x?1,因为??2所以g(x)?2。??2,2x2x2x一阶导数g'(x)?x1111?2??1, 根据压缩映像定理,迭代公式xk?1?k?对任意2x22xk?初值x0?1均收敛。假设limxk?x,对迭代式xk?1?k??xk1两边取极限,则有?2xkx?1x???,则x?2x???2?2,解得x???2,因x???2不在x?1范围内,须舍去。
故x?
?2。<证毕>
4.2 牛顿迭代法
1、(p.154,题17)试用牛顿迭代法求下列方程的根,要求计算结果有4位有效数字:
(1)x?3x?1?0,x0?2 (2)x?3x?e?2?0,x0?1
【解】 (1)设f(x)?x3?3x?1,则f'(x)?3x2?3,牛顿迭代公式:
2x3xk?1k 33f(xk)xk?3xk?12xk?1?xk??xk??22f'(xk)3xk?33(xk?1)(k?0,1,2,?),迭代计算过|xk-xk-1| 0.00006 程见下列表。 xk |xk-xk-1| 0.11111 0.00944 <0.0001 N N k 3 xk 1.87939 <0.0001 Y 1 1.88889 2 1.87945
因为|x3?x2|?0.00006?10?4,所以x??x3?1.879。
22f(xk)xk?3xk?exk?2xk?exk(xk?1)?2?xk??xk??f'(xk)2xk?3?exk2xk?3?exk(2)设f(x)?x2?3x?ex?2,则f'(x)?2x?3?ex,牛顿迭代公式:
xk?1k (k?0,1,2,?)<0.001 N Y ,迭代计算过程见下列表。 xk |xk-xk-1| 0.73106 0.01155 <0.0001 N N k 3 4 xk 0.25753 0.25753 |xk-xk-1| 0.00014 0.00000 1 0.26894 2 0.25739
因为|x3?x2|?0.00000?10?4,所以x??x4?0.2575。
32、(p.154,题18)应用牛顿法于方程x?a?0,导出求立方根3a(a?0)的迭代公式,并证明该迭代公式具有二阶收敛性。
【证明】(1)设:f(x)?x3?a,则f'(x)?3x2,对任意x?0,牛顿迭代公式
xk?133f(xk)xk?a2xk?a k?0,1,2,? ?xk??xk??22f'(xk)3xk3xk2x3?a(x?0) (2)由以上迭代公式,有:limxk?x?a。设 g(x)?2k??3x?3g(x?)?x?;g'(x?)?2a2a(1?3)?0;g''(x?)?43xx?3ax?x?a323a。
xk?1?x??g(xk)?g(x?)?g'(x?)(xk?x?)?g''(?)(xk?x?)2 2!xk?1?x?g''(x?)1,可见该迭代公式具有二阶收敛性。<证毕> lim??3k??(x?x?)22!ak
5.1 线性方程组迭代公式
1、(p.170,题1)用雅可比迭代与高斯-赛德尔迭代求解方程组:?果有3位有效数字。
?3x1?x2?2,要求结
?x1?2x2?11(k)21?(k?1)(k)x??x??(2?x)122??333【解】 雅可比迭代公式:?,迭代计算结果列于下表。
111?x(k?1)??x(k)??(1?x(k))211?222?(k)(k)(k?1)k x1(k) x2|x1(k)?x1(k?1)| |x2?x2| ?0.0005? 0 1 2 3 4 5 6 7 8 9 10
0 2/3 1/2 11/18 7/12 0.60185 0.59722 0.60031 0.59954 0.60005 0.59992 0 1/2 1/6 1/4 7/36 0.20833 0.19908 0.20139 0.19985 0.20023 0.19998 - 2/3 1/6 1/9 1/36 0.01852 0.00463 0.00309 0.00077 0.00051 0.00003 - 1/2 1/3 1/12 1/18 0.01389 0.00925 0.00231 0.00154 0.00038 0.00025 N N N N N N N N N Y ?(10)x1?x1?0.600;?(10)x2?x2?0.200;
由上表可见,所求根皆为小数点后第1位不为零的小数,要取3位有效数,则误差限为
1?10?3。 21(k)21?(k?1)(k)x??x??(2?x22)??1333高斯-赛德尔迭代公式:?,迭代计算结果列于下表。
?x(k?1)??1x(k?1)?1?1(1?x(k))212?226?(k)(k)(k?1)k x1(k) x2|x1(k)?x1(k?1)| |x2?x2| ?0.0005? 0 1 2 3 4 5
0 2/3 0.6111 0.6019 0.6003 0.6000 0 1/6 0.1944 0.1991 0.1999 0.1999 - 2/3 0.0092 0.0016 0.0003 - 1/6 0.0047 0.0008 0.0000 N N N N Y ?x1?x1(5)?0.600;?(5)x2?x2?0.200;
2、(p.171,题7)取??1.25,用松弛法求解下列方程组,要求精度为
1?10?4。 2?4x1?3x2?16??3x1?4x2?x3?20 ??x?4x??123?2
【解】欧先写出高斯-赛德尔迭代:
3(k)?~(k?1)x??x2?4?14?3~(k)1(k)9(k)1(k)?~(k?1)x??x?x?5?x2?x3?2?21344164?9(k)1(k)5?~(k?1)1~(k)x?x?3?x2?x3?2?3464162?引入松弛因子,得
(1)
1(k)5~(k?1)?(k?1)(k)(k?1)~x?(1??)x??x??x1?x111?144?1(k)5~(k?1)?(k?1)(k)?(1??)x2??~x2(k?1)??x2?x2?x244?1(k)5~(k?1)?(k?1)(k)(k?1)~x?(1??)x??x??x3?x33?3344?将方程组(1)代入(2),并化简
(2)
1(k)15(k)?(k?1)x??x1?x2?5?1416??(k?1)29(k)5(k)5?x2?x3??x264162?45(k)11(k)25?(k?1)x?x2?x3??3256648?计算结果见下表。 (3)
k 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7
x1(k) 0 5 1.40625 2.15820 1.61173 1.63577 1.54959 1.53284 1.51561 1.50880 1.50453 1.50245 1.50129 1.50069 1.50037 1.50016 1.50010 1.50005 (k) x2(k) x3(k)(k?1)|x1(k)?x1(k?1)||x2?x2|(k)(k?1)|x3?x3|?e0 2.5 2.65625 3.03223 3.15872 3.24423 3.28508 3.30793 3.31978 3.32615 3.32951 3.33130 3.33225 3.33276 3.33306 3.33318 3.33325 3.33329 0 -3.125 -2.14844 -2.28882 -2.19860 -2.19187 -2.17800 -2.17320 -2.17001 -2.16847 -2.16762 -2.16717 -2.16694 -2.16672 -2.16676 -2.16670 -2.16668 -2.16668 - 5 0.00005 - 2.5 0.00004 - 3.125 0.00000 ? - N N N N N N N N N N N N N N N N Y
?(17)迭代解:x1?x1?1.5001,?(17)x2?x2?3.3333,?(17)x3?x3?2.1667.
精确解:x1?3?1.5,2x2?10?3.3333,3x3??13?2.1667. 65.1 线性方程组迭代公式
1、(p.170,题2)试列出求解下列方程组的雅可比迭代公式与高斯-赛德尔迭代公式,并考察迭代过程的收敛性。
?10x1?x3?5x4??7?x?8x?3x?11?123 ?3x?2x?8x?x?23234?1??x1?2x2?2x3?7x4?17【解】(1)雅可比迭代公式:
?(k?1)?x1??x(k?1)?2??x(k?1)?3?(k?1)?x4?1(k)1(k)7x3?x4?1021013(k)11??x1(k)?x3?888 (1) 3(k)1(k)1(k)23?x1?x2?x4?848812(k)2(k)17??x1(k)?x2?x3?7777??001427?110380?271?2??0??,GJ1?8??0????0?1??GJ??8?4?8?1???7??7?1,迭代收敛。 8
(2)高斯-赛德尔迭代公式:
?(k?1)?x1??x(k?1)?2??x(k?1)?3?(k?1)?x4?1(k)1(k)7x3?x4?1021013(k)11??x1(k?1)?x3?888 (2) 31(k?1)1(k)23?x1(k?1)?x2?x4?848812(k?1)2(k?1)17??x1(k?1)?x2?x3?7777??将方程组(1)带入(2),经化简后,得:
?(k?1)?x1??x(k?1)?2??x(k?1)?3?(k?1)?x4?1(k)1(k)7x3?x4?1021031(k)1(k)117?x3?x4?801680 (3) 19(k)19(k)787?x3?x4?32064320121(k)39(k)3991?x3?x4?11202241120??11?102?311??0?8016?,GG?S1919?032064?8939?0??1120224?0?GG?S??0?????0???0???3?1,迭代收敛。 5 2、(p.171,题5)分别用雅可比迭代与高斯-赛德尔迭代求解下列方程组:
?x1?2x2??1(1)?
3x?x?22?1?x1?5x2?3x3?2?(2)?5x1?2x2?x3?4
?2x?x?5x??1123?1【解】(1)雅可比迭代:
(k?1)(k)???2x2?1?x1 ,G?(k?1)(k)???3x1?2?x2??3?1,不收敛。
高斯-赛德尔迭代:
(k?1)(k)(k?1)(k)????2x2?1??2x2?1?x1?x1 或 ?(k?1) ,G?(k?1)(k?1)(k)????3x1?2?6x1?5?x2?x2??6?1,不收敛。
(2)雅可比迭代:
?(k)(k)?x1(k?1)??5x2?3x3?2??(k?)5(k)1(k)?x2?x1?x3?2,G22??(k?1)2(k)1(k)11x3?x1?x2??555?高斯-赛德尔迭代:
??8?1,不收敛。
??(k?1)(k)(k)(k)(k)?x1?x1(k?1)??5x2??5x2?3x3?2?3x3?2??25(k)?(k?)5(k?1)1(k)?(k?)(k) 或 x?x?x?2x??x2?8x3?3 ?2?213222??1(k)14(k)18?(k?1)2(k?1)1(k?1)11?(k?1)x?x?x?x??x2?x3?3123??555255??G??8?1,不收敛。
3、(p.171,题6)加工上述题5的方程组,比如调换方程组的排列顺序,以保证迭代过程
的收敛性。
【解】加工后结果如下:
?3x1?x2?2(1)?
x?2x??12?1?5x1?2x2?x3?4?(2)?x1?5x2?3x3?2
?2x?x?5x??1123?1方程组(1)的雅可比迭代:
1(k)2?(k?1)3x??x2?1??33,GJ??x(k?1)??1x(k)?121?22?方程组(1)的高斯-赛德尔迭代:
??1?1,迭代收敛。 21(k)2?(k?1)3x??x2???133,GG?S??x(k?1)?1x(k)?221?63?方程组(2)的雅可比迭代:
??1?1,迭代收敛。 3?(k?1)2(k)1(k)4?x2?x3??x1555?1(k)3(k)2?(k?1)x??x1?x3?,GJ?2555??(k?1)2(k)1(k)11?x1?x2??x3555?方程组(1)的高斯-赛德尔迭代:
??4?1,迭代收敛。 5
?(k?1)2(k)1(k)4?x2?x3??x1555?2(k)16(k)6?(k?1)x??x2?x3?,GG?S?2252525?6(k)321?(k?1)18(k)x?x?x3?2?3125125125?
??18?1,迭代收敛。 256.1 高斯消元法
1、(p.198,题2)用选列主元高斯消元法求解下列方程组:
?x1?x2?x3??4?(1)?5x1?4x2?3x3??12
?2x?x?x?1123?1?2x1?3x2?5x3?5?(2)?3x1?4x2?7x3?6
?x?3x?3x?523?15?4?1?11?4??5?43?12??1r1?r2????r1?r2??51【解】 (1)?5?43?12???1?11?4???0?5??21111??21111???????21
3?12?28??? 55?111?????5?43?12??2r1?r3?5?43?12??5?43?12?5?r3??5???5?r3???0?12?8???0?12?8???0?12?8?
13179???21111???013?1790??????555??????5?43?12?1r2?r3?5?43?12?13r3?5?43?12?r2?r3??13???25???013?179???013?179???013?179?
2525???0?12?8???001?100??????1313???x?794x?3x3?124?6?3?(?1)?12?6,x1?2??3. 所以: x3??1,x2?31355?2355??3476??2r1?r2?3476??3476????r1?r2??3?11?3r2?(2)?3476???2355???01???0113?
33??1335??1335??1335???1335?????????1?r1?r33??3??0??0?41537123??3476?6??3476?3r3?r2?r3????3??0113???0529? ???0113?3??0529?????
?3476?5r3?3476???3????0529???0529?
?003565??0012??????2x3?9?4x2?7x3?6?4?1?7?2?6?1,x1????4. 所以: x3?2,x2?5351?r2?r35 2、(p.199,题9)计算下列三阶坡度阵的条件数:
??1?1(1)??2?1??31213141?3?1??。 4?1?5??1213141?3?1??,先求A-1。 4?1?5???00??10?
?01?????1?1【解】令:A???2?1??3
??1?1??2?1??312131413141511??100?11?123??2r1?r2?111010???0?12122??1?110001???345???1?12r2??0?1???31?r2?r3121211411??100??1r1?r2?1323??1?6120?01??11?0001?5????121211??100?1?3180r3?1?6120??0??11?00?11?1806????1?100?31?6120?
?41?01?453??12101?100?31?6120?
?130?180180?????1??0??0??1210??1?r3?r2??0??0??11???100??1r3?r1?10?960?60?323??0?36192?180?010?36192?180? ???130?180180??00130?180180???????
1?r2?r129?3630??3630??100?9?,所以 A?1???36192?180?
??010?36192?180???????00130?180180???30?180180???1?A?
最后求得条件数为:cond(A)?A
??11?408?748 6