数值计算方法教案_插值方法
- 格式:doc
- 大小:1.79 MB
- 文档页数:32
复习:
1.数值计算方法的含义 2.误差及误差限 3.误差与有效数字
4.数值计算中应注意的问题
第二章 插值方法
一.插值的含义 问题提出:
已知函数()y f x =在n+1个点01,,,n x x x 上的函数值01,,,n y y y ,求任意一点x '的函数值()f x '。
说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。
解决方法:
构造一个简单函数()P x 来替代未知(或复杂)函数()y f x =,则用()P x '作为函数值
()f x '的近似值。
二、泰勒(Taylor )插值 1.问题提出:
已知复杂函数()y f x =在0x 点的函数值()0f x ,求0x 附近另一点0x h +的函数值
()0f x h +。
2.解决方法:
构造一个代数多项式函数()n P x ,使得()n P x 与()f x 在0x x =点充分逼近。 泰勒多项式为:
()()()()()()()()()200000002!!
n
n n f x f x P x f x f x x x x x x x n '''=+-+-++-
显然,()n P x 与()f x 在0x x =点,具有相同的i 阶导数值(i=0,1,…,n )。 3.几何意义为:
()n P x 与()f x 都过点()()00,x f x ;
()n P x 与()f x 在点()()00,x f x 处的切线重合; ()n P x 与()f x 在点()()00,x f x 处具有相同的凹凸性;
其几何意义可以由下图描述,显然函数()3f x 能相对较好地在0x 点逼近()f x 。
4.误差分析(泰勒余项定理):
()()()()()()1
101!
n n n f P x f x x x n ξ++-=-+,其中ξ在0x 与x 之间。
5.举例:
已知函数()f x =()
115f 。
分析:本题理解为,已知“复杂”函数()f x =0x =100点的函数值为()010f x =,求0x 的附近一点0x +15的函数值()015f x +。
解:
(1)构造1次泰勒多项式函数()1P x :()()()()1000P x f x f x x x '=+-。
其中()()010010f x f ==,()1
212
f x x -'=,()()0110020f x f ''==,则有:
()150.05P x x =+
故有()()111511510.75f P ≈= 误差分析:
()()()()2
1
1151151151002!
f P f ξ''-=-
函数()f x ''在[100,115]区间绝对值的极大值为()4100 2.510f -''=⨯, 则有:
()()11151150.0281250.05P f -≤<
于是近似值10.75有三位有效数字。
几何意义:显然,()1P x 也过点(100,10),且()1P x 就是函数()f x =在点
(100,10)处的切线,如下图所示。
(2)构造2次泰勒多项式函数()2P x :
()()()()()()2
0200002!
f x P x f x f x x x x x '''=+-+
-。 把()10010f =,()1
10020
f '=
及()4100 2.510f -''=⨯代入,有 ()()211511510.721875f P ≈=。 分析误差
()()()()321151151151003!
f P f ξ'''-=-
函数()f x '''在[100,115]区间绝对值的极大值为()6100 3.7510f -'''=⨯,则有
()()21151150.002109375<0.005P f -≤
于是近似值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个点01,,,n x x x 上的函数值01,,,n y y y ,求任意一点x '的函数值()f x '。
说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。