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