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)?