复习:
1.数值计算方法的含义 2.误差及误差限 3.误差与有效数字
4.数值计算中应注意的问题
第二章 插值方法
一.插值的含义 问题提出:
已知函数y?f?x?在n+1个点x0,x1,?,xn上的函数值y0,y1,?,yn,求任意一点x?的函数值f?x??。
说明:函数y?f?x?可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值f?x??。
解决方法:
构造一个简单函数P?x?来替代未知(或复杂)函数y?f?x?,则用P?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点充分逼近。 泰勒多项式为:
Pn?x??f?x0??f??x0??x?x0??f???x0?2!?x?x0????2f?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.误差分析(泰勒余项定理):
Pn?x??f?n?1?f1(x)f(x)
?x??f???n?1?x?x0?,其中?在x0与x之间。
?n?1?!x,求f?115?。
x在x0=100点的函数值为f?x0??10,
5.举例: 已知函数f?x??分析:本题理解为,已知“复杂”函数f?x??求x0的附近一点x0+15的函数值f?x0?15?。
解:
(1)构造1次泰勒多项式函数P1?x?:P1?x??f?x0??f??x0??x?x0?。 其中f?x0??f?100??10,f??x??P1?x??5?0.05x
12x?12,f??x0??f??100??120,则有:
故有f?115??P1?115??10.75 误差分析:
P1?115??f?115??f????2!??115?100?
2函数f???x?在[100,115]区间绝对值的极大值为f???100??2.5?10?4, 则有:
P1?115??f?115??0.028125?0.05
于是近似值10.75有三位有效数字。
几何意义:显然,P1?x?也过点(100,10),且P1?x?就是函数f?x??处的切线,如下图所示。
(2)构造2次泰勒多项式函数P2?x?:
x在点(100,10)
P2?x??f?x0??f??x0??x?x0??f???x0?2!?x?x0?。
2把f?100??10,f??100??120及f???100??2.5?10?4代入,有
f?115??P2?115??10.721875。
分析误差
P2?115??f?115??f??????3!?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,'*')
line([115,115],[0,10.75])
%二次泰勒插值 subplot(1,2,2);
p2=inline('10+1/20*(x-100)-1/4000/2*(x-100)^2'); fplot(f,[-30,300]); hold on
fplot(p2,[-30,300]); plot(115,10.72,'*')
line([115,115],[0,10.72]) 可以得到以下图形:
6.泰勒插值存在的问题:
1.函数f?x?必须存在n+1阶导函数,即使存在n+1阶导数,计算的工作量也比较大; 2.要求h为个小量,若h较大,则计算的误差就很大。
三.拉格朗日(Lagrange)插值 1.问题提出:
已知函数y?f?x?在n+1个点x0,x1,?,xn上的函数值y0,y1,?,yn,求任意一点x?的函数值f?x??。
说明:函数y?f?x?可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值f?x??。
2.解决方法:
构造一个n次代数多项式函数Pn?x?来替代未知(或复杂)函数y?f?x?,则用Pn?x??作为函数值f?x??的近似值。
设Pn?x??a0?a1x?a2x2???anxn,构造Pn?x?即是确定n+1个多项式的系数
a0,a1,a2,?,an。
3.构造Pn?x?的依据:
当多项式函数Pn?x?也同时过已知的n+1个点时,我们可以认为多项式函数Pn?x?逼近于原来的函数f?x?。根据这个条件,可以写出非齐次线性方程组:
?a0?a1x0?a2x02???anx0n?y0?2n?a0?a1x1?a2x1???anx1?y1 ?????a?ax?ax2???axn?y1n2nnnn?0其系数矩阵的行列式D为范德萌行列式:
1D?1?1x0x1?xnx0x1?xn222??x0x1?xnnn?n??xn?i?j?0i?xj?
?故当n+1个点的横坐标x0,x1,?,xn各不相同时,方程组系数矩阵的行列式D不等于零,故方程组有唯一解。即有以下结论。
结论:当已知的n+1个点的横坐标x0,x1,?,xn各不相同时,则总能够构造唯一的n次多项式函数Pn?x?,使Pn?x?也过这n+1个点。
4.几何意义
f(x)P5(x)
5.举例: 已知函数f?x??x,求f?115?。
x,当x=81,100,121,144时,其对应的函
分析:本题理解为,已知“复杂”函数f?x??数值为:y=9,10,11,12,当x=115时,求函数值f?115?。
解:
(1)线性插值:过已知的(100,10)和(121,11)两个点,构造1次多项式函数P1?x?,于是有
P1?x??x?121100?121?10?x?100121?100?11
则
f?115??P1?115??10.71428571428572。
(2)抛物插值:构造2次多项式函数P2?x?,使得它过已知的(100,10)(121,11)、和(144,12)三个点。于是有2次拉格朗日插值多项式:
P2?x???x?121??x?144??x?100??x?144??x?100??x?121??10??11??12?100?121??100?144??121?100??121?144??144?100??144?121?
则有
f?115??P2?115??10.72275550536420
6.拉格朗日n次插值多项式公式: