复习:
1.数值计算方法的含义 2.误差及误差限 3.误差与有效数字
4.数值计算中应注意的问题
第二章 插值方法
一.插值的含义 问题提出:
已知函数y?f?x?在n+1个点x0,x1,值f?x??。
说明:函数y?f?x?可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值f?x??。
解决方法:
构造一个简单函数P?x?来替代未知(或复杂)函数y?f?x?,则用P?x??作为函数值
,xn上的函数值y0,y1,,yn,求任意一点x?的函数
f?x??的近似值。
二、泰勒(Taylor)插值 1.问题提出:
已知复杂函数y?f?x?在x0点的函数值f?x0?,求x0附近另一点x0?h的函数值
f?x0?h?。
2.解决方法:
构造一个代数多项式函数Pn?x?,使得Pn?x?与f?x?在x?x0点充分逼近。 泰勒多项式为:
f???x0?2Pn?x??f?x0??f??x0??x?x0???x?x0??2!f?n??x0?n??x?x0?
n!显然,Pn?x?与f?x?在x?x0点,具有相同的i阶导数值(i=0,1,…,n)。 3.几何意义为:
Pn?x?与f?x?都过点?x0,f?x0??;
Pn?x?与f?x?在点?x0,f?x0??处的切线重合; Pn?x?与f?x?在点?x0,f?x0??处具有相同的凹凸性;
其几何意义可以由下图描述,显然函数f3?x?能相对较好地在x0点逼近f?x?。
f3(x)f2(x)x04.误差分析(泰勒余项定理):
f1(x)f(x)
f?????n?1Pn?x??f?x???x?x0?,其中?在x0与x之间。
?n?1?!n?15.举例:
已知函数f?x??x,求f?115?。
分析:本题理解为,已知“复杂”函数f?x??x在x0=100点的函数值为f?x0??10,求x0的附近一点x0+15的函数值f?x0?15?。
解:
?(1)构造1次泰勒多项式函数P1?x?:P1?x??f?x0??f?x0??x?x0?。
1?11其中f?x0??f?100??10,f??x??x2,f??x0??f??100??,则有:
220P1?x??5?0.05x
故有f?115??P1?115??10.75 误差分析:
f?????2P115?f115?115?100 ??????12!函数f???x?在[100,115]区间绝对值的极大值为f???100??2.5?10?4, 则有:
P1?115??f?115??0.028125?0.05 于是近似值10.75有三位有效数字。
几何意义:显然,P,且Px在点(100,10)1?x?也过点(100,10)1?x?就是函数f?x??处的切线,如下图所示。
(2)构造2次泰勒多项式函数P2?x?:
P2?x??f?x0??f??x0??x?x0??f???x0?2?x?x0?。 2!把f?100??10,f??100??1及f???100??2.5?10?4代入,有 20f?115??P2?115??10.721875。 分析误差
f??????3P2?115??f?115???115?100?
3!函数f????x?在[100,115]区间绝对值的极大值为f????100??3.75?10?6,则有
P2?115??f?115??0.002109375<0.005 于是近似值10.721875有四位有效数字。 运行文件taylor.m:
%已知函数f(x)=x^(1/2),求f(115) %一次泰勒插值 subplot(1,2,1); f=inline('x^(1/2)'); p1=inline('5+0.05*x'); fplot(f,[-50,300]); hold on
fplot(p1,[-50,300]); plot(115,10.75,'*')