引言
例: 利用秦九韶算法求多项式p(x)=x5-3x4+4x2-x+1,在x=3 时的值。(课本11页习题3) 解:p(x)=(x-3)x4+4x2-x+1 =((x-3)x2+4)x2-x+1 =(((x-3)x2+4)x-1)x+1 =((0*x2+4)x-1)x+1 =(4x-1)x+1 =(4*3-1)*3+1 =34
练习. x=3, f=2x5 – 5x4 – 4 x3 + 3x2 – 6 x + 7
? 解:f=(2x-5)x4 – 4 x3 + 3x2 – 6 x + 7 =((2x-5)x – 4 ) x3 + 3x2 – 6 x + 7 =(((2x-5)x – 4 ) x + 3)x2 – 6 x + 7 = ((((2x-5)x – 4 ) x + 3)x – 6) x +7
=((((2*3-5)*3 – 4 )* 3 + 3)*3 – 6) *3 +7 =-11
练习:用二分法求方程ex+10x-2=0在[0,1]内的近似根,要求误差不超过1/2*10-2.(课本11页,习题1) 111根据误差分析式|x?x*|?k?1(b?a)??10?2?,可得 22200 111?(2?1)??,故需做7次二分 27?1256200 k 0 1 2 3 4 5 6 7 ak 0 0.0625 0.0781 0.0859 bk 1 0.5000 0.2500 0.1250 0.0937 xk 0.5000 0.2500 0.1250 0.0625 0.0937 0.0781 0.0859 0.0898 f(ak)* f(xk) <0 <0 <0 >0 <0 >0 >0 误差的来源:
??测量误差
固有误差?? ??模型误差误差来源?
?截断误差? ?计算误差?舍入误差??
误差限和有效数字:
? 误差限:
1
设以x代表x*的近似值,则
绝对误差为:|x-x*|,若有|x-x*|≤ε
则ε称为近似值x的绝对误差限,简称误差限,或称精度。
? 有效数字:
对于x*的近似值(规格化形式) x=±0.a1a2…an×10m
(其中a1,a2,…,an是0-9之间的自然数) 如果误差|x-x*|≤1/2×10m-l,1 ≤l ≤n
则称近似值x有l位有效数字,或称x准确到第l位。
? 凡是由准确值经过四舍五入而得到的近似值,其绝对误差限等于该近似值末位的半
个单位。
? 1、用四舍五入法取准确值的前n位作为近似值,则x*必有n位有效数字
? 2、有效数字相同的两个近似数,绝对误差限不一定相同。例如,设x1*=12345及
x2*=0.12345均有五位有效数字,而它们的绝对误差限分别为0.5和0.000005 ? 3、准确值被认为具有无穷位有效数字 相对误差与有效数字的联系:
|x?x*||x?x*|;若有,?? 相对误差:|x||x|
则称?为近似数x的相对误差限。设x,y分别是数x*,y*的近似值,考察x-y的相对误差
|(x?y)?(x*?y*)||x?x*|?|y?y*|?
|x?y||x?y|
x?x*xy?y*y
????xx?yyx?y
xy当x与y相近时,和都很大,
x?yx?y
这时,x?y的相对误差可能比x和y的相对误差大得多。
相对误差与有效数字:
? 由此可见:两个值相近的近似数相减,可能会造成有效数字的严重损失。 ? 在实际计算时,需要加工计算公式,以避免这种情况发生。
如例3:
2?h?2?h 将f'(2)?2h
分子分母同时乘以2?h?2?h, 1加工为:f'(2)? 2?h?2?h
? 8、已知e=2.71828…,试问其近似值x1=2.7,x2=2.71,x3=2.718各有几位有效数字?并给出它们的相对误差限。
? 解:x1=0.27×101,x2=0.271×101, x3=0.2718×101
2
? |x1-e|=0.01828…≤ 1/2×101-2,有效数字2位,
? |x2-e|/=0.00828…≤1/2×101-2有效数字2位, ? |x3-e|=0.00028…≤1/2×101-4,有效数字4位
算法设计中,避免误差危害的要点:
? 避免除数绝对值远小于被除数绝对值的除法,否则可能会扩大舍入误差。 ? 避免两相近数相减,否则会使有效数字严重损失。 ? 尽可能防止大数―吃掉‖小数,否则可能影响计算结果的可靠性。 ? 简化计算步骤,将少运算次数。 ? 选用数值稳定的算法
第一章 差值方法
例1: 求作f(x)?x在x0?100的一次和二次泰勒多项式,
解:
利用它们计算115的近似值并估计误差。
f(x)?x,f?(x)?11带入x0=100, 得
2x,f??(x)??4xx
f(x,f?(x110)?100)?,f??(x0)??
204000
p1(x)?f(x0)?f?(x0)(x?x0)?5?0.05x
p(x)?f??(x0)2(x)?p12!(x?x0)2 计算115的近似值用p1(x)计算: 115?5?0.05?115?10.75? 误差估计:
f(x)?pf??(?)2f??(x0) 1(x)?2!(x?x0)?2!(x?x0)2??0.028125? 用p2(x)计算:
115?5?0.05?115?f??(x0)2!(x?x0) ?10.75?0.028125?10.721875练习:课本54页1,求作f(x)=sin x在节点x0=0的5次泰勒多项式,并估计插值误差。
解:f?(x)?cosx,f??(x)??sinx,f(3)(x)??cosx, f(4)(x)?sinx,f(5)(x)?cosx f?(x0)?1,f??(x0)?0,f(3)(x0)??1,f(4)(x)0)?0,f(5(x0)?1
p(x)?(x?x?1150)?(x?x30)?(x?
3!5!x0)5 ?x?1x315
6?120x f(6) f(x)?p(?)5(x)?6!(x?x0)62、拉格朗日插值
? 求作n次多项式pn(x),使满足条件
pn(xi)=yi , i=0,1, … , n 这就是所谓拉格朗日插值 点xi(互不相同),称为插值节点。
3
1.2 拉格朗日插值公式 1、线性插值
? 问题3:求作一次式p1(x),使满足条件 p1(x0)=y0 , p1(x1)=y1
几何意义:y=p1(x)表示通过两点(x0,y0),(x1,y1)的直线,因此,一次插值又称线性插值
? 它的解p1(x)可表为点斜式:
y?y
p1(x)?y0?10(x?x0) x1?x0
,121?11,求y?115 例2:已知100?10解:已知x0=100,y0=10,x1=121,y1=11,x=115, 带入线性插值公式,得
11?10(115?100) 115?10?121?100
?10.71428
插值基函数:
? 线性插值公式亦可表为对称式:
x?x0x?x1
p1(x)?y0?y1 x0?x1x1?x0
x?x0x?x1 令l0?,l1?x0?x1x1?x0
则有:p1(x)?y0l0(x)?y1l1(x)
注意:这里的l0(x)和l1(x)分别可以看做是满足条件: l0(x0)?1,l0(x1)?0 l1(x0)?0,l1(x1)?1
的插值多项式
称为问题3的插值基函数 练习:习题6(1),构造拉格朗日插值多项式p(x),逼近f(x)=x3,要求取节点x0=-1,x1=1
? 解:y0=-1,y1=1
x?x0x?x1
p1(x)?y0?y1 x0?x1x1?x0 x?1x?1??(?1)??1?x ?1?11?12、抛物插值
? 问题4:求作二次式p2(x),使满足条件
p2(x0)=y0 , p2(x1)=y1, p2(x2)=y2
几何意义:y=p1(x)表示通过三点(x0,y0),(x1,y1) ,(x2,y2)的抛物线, 因此,二次插值又称抛物插值。 p2(x)的解? 问题4的解:
设取已知数据y0,y1,y2作为组合系数,将插值基函数l0(x),l1(x),l2(x)组合,即可得到问题4
4
的解(即抛物插值的解):
(x?x1)(x?x2)
p2(x)?y0? (x0?x1)(x0?x2) (x?x0)(x?x2)y1?
(x1?x0)(x1?x2)
(x?x0)(x?x1) y2(x2?x0)(x2?x1)
例3:利用100,121,144的开方值求 解:用抛物插值
已知:x0=100,y0=10 , x1=121,y1=11, x2=144,y2=12 , x=115 代入抛物插值公式得:
(115?121)(115?144)?10? 115?(100?121)(100?144)
(115?100)(115?144)?11? (121?100)(121?144)) (115?100)(115?121?12?10.7228 (144?100)(144?121)问题2的解(拉格朗日插值)
用前面的插值基函数,可得到问题2的解:
n
pn(x)?yklk(x) k?0
?n?nx?x? j????yk x?xk?0?j?0kj?j?k??
? 即拉格朗日插值公式 练习:习题6(1),构造拉格朗日插值多项式p(x),逼近f(x)=x3,要求取节点x0=-1,x1=0,x2=1,x3=2作三次插值。 解:y0??1,y1?0,y2?1,y3?8 (x?0)(x?1)(x?2)(x?1)(x?1)(x?2)p(x)??(?1)??03 (?1?0)(?1?1)(?1?2)(0?1)(0?1)(0?2)
(x?1)(x?0)(x?2)(x?1)(x?0)(x?1)??1??8
(1?1)(1?0)(1?2)(2?1)(2?0)(2?1)
118 ?(x3?3x2?2x)?(x3?x2?2x)?(x3?x)626
1111184 ?x3?x2?x?x3?x2?x?x3?x6232263
?x3
??? 5