教案三埃尔米特插值法和分段低次插值法
ami插值法第三讲(分段线性与Hermite插值)
H i ( x j ) = 0 ( i , j = 0,1, , n) h' i ( x j ) = 0 ( i , j = 0,1, , n)
H ( x) =
∑ [h ( x ) y
n i=0 i
i
+ H i ( x ) y'i ]
从而可设 :
hi ( x ) = [a + b( x x i )] [l i ( x )]
2
这里l 为拉格朗日插值基函数 这里 i(x)为拉格朗日插值基函数
把 hi ( x i ) = 1 h' i ( x i ) = 0 ( i = 0,1, , n) 代入得
a = 1; b = 2 l ' i ( x i )
从而有 :
同理可得
hi ( x ) = [1 2( x x i )l i ' ( x i )] [l i ( x )]
i ( x )是线性函数
则称 是 上的分段线性插值多项式。 则称(x)是f(x)在[a ,b]上的分段线性插值多项式。 在 上的分段线性插值多项式
二、分段线性插值多项式的构造
分段表达式
x x i +1 x xi ( x) = yi + y i +1 ( x i ≤ x ≤ x i +1 ) x i x i +1 x i +1 x i
第2章插值 章
第4节
Hermite插值
一、 Hermite插值的基本思路
插值问题的一般要求:
( xi ) = yi
( i = 0 ,1, 2 ,... n )
插值问题的较高要求:
(1 ) (2)
分段三次埃尔米特插值
分段三次埃尔米特插值分段线性插值函数的导)(I x h 数是间断的,若在节点k x (k =0,1,…,n )上除已知函数值外还给k f 出导数值k k m f ='(k =0,1,…,n ),这样就可构造一个导数连续的分段插值函数)(I x h ,它满足条件:(1).[][]),(,)(I 11b a C b a C x h ∈代表区间一[]b a ,阶导数连续的函数集合. (2)k k h f x =)(I ,'')(I k k h f x -(k =0,1,…n ). (3))(I x h 在每个小区间上是三次[]1,+k k x x 多项式.由两点三次插值多项式可以知道在)(I x h 区间上表达[]1,+k k x x 式为'21111211211)()(21*)()21()()(I k k k k k k k k k k k k k k k k k k h f x x x x x x x x x x x x x x f x x x x x x x x x ---+--+--+--+--=++--++++)(+'1121)(+++---k k kk k f x x x x x x )(.分段三次埃尔米特插值比分段线性插值效果明显改善,但这种插值要求给出节点上的导数值,所要提供的信息太多,其光滑度也不高(只有一阶导数连续),改进这种以克服其缺点就导致三次样条插值的提出.三次样条插值上面讨论的分段插值函数都有一致收敛性,但光滑性比较差,对于像告诉飞机的机翼形线,船体放样等型值线往往要求有二阶光滑度,即有二阶连续导数.早起工程师制图是,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由的弯曲,然后画下长条的曲线,称为样条曲线.样条曲线实际上有分段三次曲线并接而成,在连接点即样点上要求二阶导数连续,从而数学上加以概括就得到数学样条这一概念.三次样条函数定义 若函数[]b a C x S ,)(2∈,并且在每个小区间上是[]1,+j j x x 三次多项式,其中是给定b x x x a n =<<<= 10节点,则称是节点)(x S 0x ,1x ,…,n x 上的三次样条函数.若在节点上j x 给定函数值)(j j x f y =(j =0,1,…,n ),并且成立j j y x S =)( (j =0,1,…,n ),(1.1) 则称为三次)(x S 样条插值函数.由定义知道要求出)(x S ,在每个小区间上要确定[]1,+j j x x 4个待定系数,一共有个小n 区间,所以应该确定4个参数n .根据在上二)(x S []b a ,阶导数的连续性,在节点j x (j =1,2,…,n -1)处应该满足连续性的条件)0()0(+=-j j x S x S ,)0()0(''+=-j j x S x S (1.2))0()0(''''+=-j j x S x S .一共有3n -3个条件,再加上要满)(x S 足插值条件(1.1),共有4n -2个条件,因此还需要2个条件才能确定)(x S .通常可以在区间[]b a ,端点0x a =,n x b =上各加上一个条件(称为边界条件),可根据实际问题要求给定.常见的有以下3种;(1)已知两端的一阶导数值,即'00')(f x S =,;')(n n f x S =. (1.3)(2)两端的二阶导数已知,即''00'')(f x S =,'''')(n n f x S =, (1.4)其特殊情况为0)()(''0''==n x S x S . (1.5)(3)当)(x f 是以n x -0x 为周期的周期函数时,则要求也是)(x S 周期函数.这时边界条件应满足)0()0(0-=+n x S x S ,)0()0('0'-=+n x S x S , )0()0(''0''-=+n x S x S . (1.6)而此时(1.1)中n y y =0.这样确定的样条函数称)(x S 为周期样条函数. 埃尔米特插值不少实际问题的插值问题不但要求在节点上函数值相等,而且还要求对应的导数值也相等,甚至要求高阶导数也相等,满足这种要求插值的多项式就是埃尔米特(Hermi t e )插值多项式.下面只讨论函数值与导数值个数一样的情况.设在节点上b x x x a n ≤<<<≤ 10,)(i i x f y =,)('j j x f m =(j =0,1,…,n ),要求插值多项式)(x H ,满足条件j j y x H =)(,j j m x H =)('(j =0,1,…,n ). (1.1)这里给出了2n +2个条件,可唯一确定一个次数不超过2n +1的多项式)()(12x H x H n =+,其形式为12121012)(++++++=n n n x a x a a x H .如果根据条件(1.1)来确定2n +2个系数0a ,1a ,…,12+n a ,显然非常复杂,因此,我们依旧采用拉格朗日插值多项式的基函数的方法.先求插值基函数)(x j α及)(x j β(j =0,1,…,n ),一共有2n +2个,每一个基函数都是2n +1次多项式,且满足条件⎪⎪⎭⎪⎪⎬⎫====⎩⎨⎧=≠==).,,1,0,()(,0)(;0)(,,1,,0)(''n k j x x x k j k j x jk k j k j k j jk k j δββαδα (1.2)于是满足条件(1.1)的插值多项式可以写成)()(12x H x H n +=用插值基函数表示的形式[]∑=-+=nj j j j j n x m x y x H 012)()()(βα. (1.3)由条件(1.2)可以知道,有k k n y x H =-)(12,kn m x H =+)('12,(k =0,1,…,n ).下面的问题就是求满足条件(1.2)的基函数以)(x j α及)(x j β.所以,我们可以利用拉格朗日插值基函数)(x l j .令)()()(2x l b ax x a j j +=,由条件(1.2)有1)()()(2=+=j j j j j x l b ax x α,[]0)()(2)()()(''=++=j j j j j j j j j x l b ax x al x l x α,整理得⎩⎨⎧=+=+0)(21'j j j x l a b ax . 解出)(2'j j x l a -=,)(21'j j j x l x b +=.由于)())(()()())(()()(110110n j j j j j j n j j j x x x x x x x x x x x x x x x x x l --------=+-+- ,利用两边取对数再求导数,有∑≠=-=njk k kj j jx x x l 0'1)(,所以有)()1)(21()(20x l x x x x x a j njk k kj j j ∑≠=---=. (1.4)同理,可以得到)()()(2x l x x x j j j -=β. (1.5)同时还证明满足条件(1.1)的插值多项式是唯一的.用反证法,假设及都满)(12x H n +)(12x H n +足条件(1.1),所以有)()()(1212x H x H x n n ++-=ϕ在每个节点上均有二重根,即)(x ϕ有2n +2重根.但是是不高)(x ϕ于2n +1次的多项式,所以0)(≡x ϕ.唯一性得到证明.。
第三章(二) 埃尔米特-样条插值法
2
x x1 x x 0 h1 ( x ) 1 2 x x . x1 x 0 1 0
2
设
x x1 g 0 (x) a(x x0 ) , x 0 x1
2
∵g0(x0)=g0(x1)=0, g'0(x1)=0
例1 给定 f (− 1)=0, f (1)=4, f '(− 1)=2, f '(1)=0, 求H3(x), 并计算 f (0.5).
解
x0 = − 1, x1 = 1,
H 3 ( x ) h 0 ( x ) 0 h1 ( x ) 4 g 0 ( x ) 2 g 1 ( x ) 0
y0 y1 m0 m1
其解存在唯一, 解 出 a0, a1, a 2, a3, 代 入即得 H3(x).
1 1 0 0
x0 x1 1 1
x0 x1
2 2
x0 x1
3 3 2 2
2 x0 2 x1
3x0 3 x1
( x 0 x1 ) 0 .
4
基函数法
类似于拉格朗日插值多项式的构造手法,我们可以通 过插值基函数作出 。
对给定区间[a,b]作划分
a x 0 x1 x n b
给定 n +1个插值点:(xi , f (xi)), i = 0,1,2,„,n, 在每个小 区间[xi, xi+1]上作线性插值,节点 xi, xi+1上的基函数分别为:
li ( x ) x x i 1 x i x i 1 , 1 ( x ) li x xi x i 1 x i ,
在某些问题中,为了保证插值函数能更好地逼近原函数 ,不仅要求两者在节点上有相同的函数值,而且要求在节点 上有相同的导数值。这类插值称为Hermite插值。 ★ Hermite插值描述:
参数三次埃尔米特插值实例分析
2
公式推导
参数三次曲线,简称 PC 曲线,表示为: ������(t) = ������0 + ������1 t + ������2 ������ 2 + ������3 ������ 3 , ������ ∈ [0,1] 确定四个系数矢量的方法是给定曲线两端点及其切矢。 对函数中参数 t 求导,得: ������������ ������′ (������) = = ������1 + 2������2 ������ + 3������3 ������ 2 ������������ 用������ = 0,1代入以上两式,得: ������0 = ������(0) ������0 + ������1 + ������2 + ������3 = ������(1) ������1 = ������′ (0) ������1 + 2������2 + 3������3 = ������′ (1) 写成矩阵形式: ������(0) 1 0 0 0 ������0 ������ ������(1) 1 1 1 1 1 [ ] [������ ] = ′ ������ (0) 0 1 0 0 2 ������ 0 1 2 3 3 [������′ (1)] 于是可得: ������0 1 0 0 0 ������(0) ������1 0 0 1 0 ������(1) [������ ] = [ ] 2 −3 3 −2 −1 ������′ (0) ������3 2 −2 1 1 [������′ (1)] 将上式代入函数方程,得: 1 0 0 0 ������(0) 0 0 1 0 ������(1) ������(t) = [1 ������ ������ 2 ������ 3 ] [ ] −3 3 −2 −1 ������′ (0) 2 −2 1 1 [������′ (1)] 上式即与标量形式的三次埃尔米特插值相对应的参数形式,即定义在区间������ ∈ [0,1]
三次埃尔米特插值
《计算方法》课程设计报告学生姓名:张学阳学号:1009300132陈洋1009300109刘睿1009300122 学院:理学院班级: 数学101题目: 分段线性及三次埃尔米特插值通用程序指导教师:宋云飞职称:讲师朱秀丽讲师尚宝欣讲师2012年12月30日目录目录 (I)一、摘要 (1)二、算法设计 (1)2.1分段线性插值 (1)2.2分段三次埃尔米特插值 (1)2.3功能框图 (1)三、例题计算 (1)四、误差及结果分析 (9)4.1例题误差分析 (1)4.2结点个数对插值结果的影响 (1)五、总结及心得体会 (12)参考文献 (13)源程序 (14)一、摘要分段线性插值与分段定义的线性插值,在相邻插值节点的区间上对应的是同一个线性函数。
由于它们的表现形式不一样从而产生为两种不同的计算方法,相应的误差表现形式也不一样.拉格朗日插值余项利用f(x)的二阶导数,要f(x)的二阶导数存在,对于二阶导数不存在的情况不能估算出它的误差,所以适用范围比较小.现在我们可以利用一阶导数就估算出误差,给计算带来许多的方便。
为了避免高次插值可能出现的大幅度波动现象,在实际应用中通常采用分段低次插值来提高近似程度,比如可用分段线性插值或分段三次埃尔米特插值来逼近已知函数,但它们的总体光滑性较差。
为了克服这一缺点,一种全局化的分段插值方法——三次样条插值成为比较理想的工具。
在代数插值过程中,人们为了获得较好的近似效果,通常情况下是增加插值节点数.由于二次插值比线性插值近似效果好,因此容易错误地认为插值多项式次数越高越好.事实上,随着插值节点的增多,插值多项式不一定收敛到被插值函数.。
通过分段低次插值或样条插值可以得到较好的近似逼近函数,分段低次插值具有公式简单、运算量小、稳定性好、收敛性有保证等优点.随着子区间长度h取得足够小,分段低次插值总能满足所要求的精度.因此分段低次插值应用十分广泛.。
分段线性插值是分段低次插值中常见的方法之一,在本文中对函数在(-5,5)上进行分段线性插值,取不同节点个数n,得到不同分段线性插值函数.并用MATLAB编写分段线性插值函数,最后比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值效果的关系。
埃尔米特插值法
埃尔米特插值法1. 引言埃尔米特插值法是一种用于数据插值的数值方法。
它通过给定的数据点来构造一个多项式函数,该函数在这些数据点上与给定的函数具有相同的函数值和导数值。
埃尔米特插值法可以应用于各种领域,如数学、物理、计算机图形学等。
2. 插值问题在实际问题中,我们常常需要根据已知数据点来估计未知数据点的函数值。
这就是插值问题。
给定n个不同的数据点(x0,y0),(x1,y1),...,(x n,y n),我们希望找到一个多项式函数P(x),使得P(x i)=y i对所有i=0,1,...,n成立。
3. 埃尔米特插值多项式埃尔米特插值多项式是满足以下条件的多项式: - 在每个已知数据点上具有相同的函数值:P(x i)=y i - 在每个已知数据点上具有相同的导数值:P′(x i)=m i其中m i是给定的导数值。
为了构造埃尔米特插值多项式,我们需要利用这些条件来确定其系数。
4. 构造埃尔米特插值多项式埃尔米特插值多项式的一般形式为:P(x)=∑ℎini=0(x)⋅y i+∑g ini=0(x)⋅m i其中ℎi(x)和g i(x)是满足以下条件的基函数: - ℎi(x j)=δij,其中δij是克罗内克(Kronecker)符号,当i=j时取值为1,否则为0。
- g i(x j)=0对所有i,j成立。
基于这些条件,我们可以求解出基函数ℎi(x)和g i(x)的表达式,并将其代入埃尔米特插值多项式的公式中。
5. 插值误差估计在实际应用中,我们通常需要估计插值多项式的误差。
通过使用泰勒展开和拉格朗日余项定理,可以得到以下插值误差的估计公式:f(x)−P n(x)=f(n+1)(ξ)(n+1)!(x−x0)(x−x1)...(x−x n)其中f(n+1)(ξ)是函数f(x)在x0,x1,...,x n之间某个点ξ处的(n+1)阶导数。
6. 示例假设我们有以下数据点:(0,1),(1,2),(2,−1)。
我们希望通过这些数据点构造一个埃尔米特插值多项式。
艾米特插值
若 αi ( x ) , βi ( x )( i = 0,1) ,满足
αi (x j ) = δi j
1 i = j = , , α i′( x j ) = 0 0 i ≠ j (i = 0 , 1)
β i ( x j ) = 0 , β i′( x j ) = ( x ) = ( − 2 l ( x j ) x + 1 + 2 x l ( x j )) l ( x )
' j ' j j 2 j
= (1 − 2 ( x − x j ) l ( x j )) l ( x )
' j 2 j
其中 l ( x j ) ∑ =
' j
n
k =0 k≠ j
由于
′ α 0 ( x 0 ) = 1, α 0 ( x 0 ) = 0 2.2 (2.6.2) ′ α 0 ( x1 ) = 0, α 0 ( x1 ) = 0 , (2.6.3) 2.3
由(2.6.3)可设
α0 ( x) = ( x − x1 ) a ( x − x0 ) + b ,
2.4 埃尔米特(Hermite)插值
• Hermite插值问题的提出 • 三次 Hermite 插值 • 2n+1 次Hermite 插值多项式 • Hermite插值余项 • 数值实例
一、 Hermite插值问题的提出
由于理论与实践的需要,在构造插值函数 时,不但要求在节点上函数值相等,而且还要求 它的(高阶)导数值也相等(即要求在节点上具 有一定的光滑度),使得插值函数与被插函数贴 近程度更好,满足这种要求的插值多项式就是 Hermite 插值多项式,有时也称为具有重节点插 值。
2
再由(2.6.2)可求得
分段线性及三次埃尔米特插值通用程序
结 束
计算方法课程设计
分段线性及三次埃尔米特插值通用程序
-----------数学101 张学阳 陈 洋 刘 睿
分段线性插值在每个小区间上可表示为
I h ( x) x xk 1 x xk f k f k 1 , xk x xk 1 , k 0,1,, n 1. xk xk 1 xk 1 xk
M = -5:0.01:5; output = zeros(1,length(M)); n = 1; for i=2:N+1 for x=-5:0.01:5 if x<xx(i) && x>=xx(i-1) lx(1)=ff(i-1)*(x-xx(i))/(xx(i-1)-xx(i)); lx(2)=ff(i)*(x-xx(i-1))/(xx(i)-xx(i-1)); output(n) = lx(1)+lx(2); n = n+1; end end end
end
end end ezplot(f,[-5,5]) hold on A =-5:0.01:5; plot(A,output,'r'); end if B~=1&&B~=2 disp('输入有误,请重新输入') end c=input('是否继续(1为继续):'); close end
M = -5:0.01:5; output = zeros(1,length(M)); n = 1; for i=2:N+1 for x=-5:0.01:5 if x<xx(i) && x>=xx(i-1) lx(1)=ff(i-1)*(x-xx(i))^2/(xx(i-1)-xx(i))^2*(1+2*(x-xx(i1))/(xx(i)-xx(i-1))); lx(2)=ff(i)*(x-xx(i-1))^2/(xx(i)-xx(i-1))^2*(1+2*(xxx(i))/(xx(i-1)-xx(i))); lx(3)=ff1(i-1)*(x-xx(i))^2/(xx(i-1)-xx(i))^2*(x-xx(i-1)); lx(4)=ff1(i)*(x-xx(i-1))^2/(xx(i)-xx(i-1))^2*(x-xx(i)); output(n) = lx(1)+lx(2)+lx(3)+lx(4); n = n+1;
数值分析实验六(分段三次Hermite插值)
数值分析实验六(分段三次Hermite插值)《数值分析》实验报告实验编号:实验六课题名称:分段三次Hermite插值一、算法介绍给定的函数为f(x)=1/(25*x*x+1),将给定区间分成10分,得到11个节点:x[0],x[1],...,x[10],构造插值函数的基函数。
当x在(x[0],x[1])区间上时,H[0] = (x-x[0])*[((x-x[1])/(x[0]-x[1]))^2]。
其余的区间为H[0]=0。
h[0]= [1+2*(x-x[0])/(x[1]-x[0])]*[((x-x[1])/(x[0]-x[1]))^2]。
当x在[x[i-1],x[i]] (i=1,2,3, (9)区间上时,H[i]=(x-x[i])*[((x-x[i-1])/(x[i]-x[i-1]))^2],h[i]=[1+2*(x-x[i])/(x[i-1]-x[i])]*[((x-x[i-1])/(x[i]-x[i-1]))^2)。
当x在(x[i],x[i+1]](i=1,2,3,…,10)区间上其余的区间为H[i]=(x-x[i])[((x-x[i+1])/(x[i]-x[i+1]))^2],h[i]=[1+2*(x-x[i])/(x[i+1]-x[i])]*[((x-x[i+1 ])/(x[i]-x[i+1]))^2]。
其余区间上均为H[i]=0,h[i]=0(i=1,2,…,10)。
当x在(x[9],x[10])区间上时,H[10] = (x-x[9])(((x-x[10])/(x[9]-x[10]))^2).其余的区间为H[10]=0.h[10]= (1+2*((x-x[9])/(x[10]-x[9])))(((x-x[10])/(x[9]-x[10]))^2).其余区间h[10]=0。
构造函数H(x) =∑(y[i]*h[i]+y'[i]*H[i],(i=0,1,…,10)。
二、程序代码// testV iew.cpp : implementation of the CT estV iew class//#include "stdafx.h"#include "test.h"#include "testDoc.h"#include "testView.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////// //////////// CTestV iewIMPLEMENT_DYNCREA TE(CTestView, CView)BEGIN_MESSAGE_MAP(CTestView, CView)//{{AFX_MSG_MAP(CTestView)// NOTE - the ClassWizard will add and remove mapping macros here.// DO NOT EDIT what you see in these blocks of generated code!//}}AFX_MSG_MAP// Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CV iew::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW,CView::OnFilePrintPreview)END_MESSAGE_MAP()/////////////////////////////////////////////////////////////////// //////////// CTestV iew construction/destructionCTestView::CTestV iew(){// TODO: add construction code here}CTestView::~CT estView(){}BOOL CTestView::PreCreateWindow(CREA TESTRUCT& cs){// TODO: Modify the Window class or styles here by modifying // the CREA TESTRUCT csreturn CV iew::PreCreateWindow(cs);}/////////////////////////////////////////////////////////////////// //////////// CTestV iew drawingvoid CTestView::OnDraw(CDC* pDC){CTestDoc* pDoc = GetDocument();ASSERT_V ALID(pDoc);// TODO: add draw code for native data hereint i,j,k;double x,y,p_x,p_y,l,xx[100],f[100],F[100],sum,p_sum;CPen MyPen,*OldPen;pDC->SetViewportOrg(400,400); //定义坐标原点for(i=-500;i<500;i++){pDC->SetPixel(0,i,RGB(0,0,0));pDC->SetPixel(i,0,RGB(0,0,0)); //画出坐标}pDC->TextOut(-210,5,"-1");pDC->TextOut(196,5,"1");//原函数MyPen.CreatePen(PS_SOLID,1,RGB(255,0,0));//定义画笔颜色OldPen=pDC->SelectObject(&MyPen);x=-1.0,y=1/(1+25*x*x);p_x=x*200;p_y=-y*200;pDC->MoveTo(p_x,p_y);for (x=-1.0;x<=1.0;x+=0.0001){y=1/(1+25*x*x);p_x=x*200;p_y=-y*200;pDC->LineT o(p_x,p_y);}pDC->SelectObject(OldPen);MyPen.DeleteObject();//分段三次Hermite插值MyPen.CreatePen(PS_SOLID,1,RGB(0,0,0)); OldPen=pDC->SelectObject(&MyPen); x=-1.0,y=1.0/(1+25*x*x);p_x=x*200;p_y=-y*200;pDC->MoveTo(p_x,p_y);x=-1.0;for(i=0;i<=10;i++){f[i]=1/(1+25*x*x);xx[i]=x;F[i]=-50*x/(1+25*x*x)/(1+25*x*x); //导数x+=0.2;}x=-1.0;for(j=0;j<=1000;j++){sum=0;for(i=0;i<=10;i++){if(x==xx[i]){sum=f[i];p_x=x*200,p_y=-sum*200;pDC->LineT o(p_x,p_y);break;}if(xxx[i]){y=(1+2*(x-xx[i])/(xx[i+1]-xx[i]))*(x-xx[i+1])*(x-xx[i+1])/(xx[i]-xx[i+1])/(xx[i]-xx[i+1]);sum+=f[i]*y;y=(1+2*(x-xx[i+1])/(xx[i]-xx[i+1]))*(x-xx[i])*(x-xx[i])/(xx[i+1]-xx[i])/(xx[i+1]-xx[i]);sum+=f[i+1]*y;y=(x-xx[i])*(x-xx[i+1])*(x-xx[i+1])/(xx[i]-xx[i+1])/(xx[i]-xx[i+1]);sum+=F[i]*y;y=(x-xx[i+1])*(x-xx[i])*(x-xx[i])/(xx[i+1]-xx[i])/(xx[i+1]-xx[i]);sum+=F[i+1]*y;p_x=x*200;p_y=-sum*200;pDC->LineT o(p_x,p_y);break;}}x+=0.002;}pDC->SelectObject(OldPen);MyPen.DeleteObject();/////////////////////////////////////////////////////////////////// //////////// CTestV iew printingBOOL CTestView::OnPreparePrinting(CPrintInfo* pInfo){// default preparationreturn DoPreparePrinting(pInfo);}void CTestView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add extra initialization before printing}void CTestView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/){// TODO: add cleanup after printing}/////////////////////////////////////////////////////////////////// //////////// CTestV iew diagnostics#ifdef _DEBUGvoid CTestView::AssertV alid() const{CView::AssertV alid();}void CTestView::Dump(CDumpContext& dc) const{CView::Dump(dc);CTestDoc* CT estV iew::GetDocument() // non-debug version is inline{ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CT estD oc)));return (CT estDoc*)m_pDocument;}#endif //_DEBUG/////////////////////////////////////////////////////////////////// //////////// CTestV iew message handlers三、运算结果截屏红色的曲线为原函数图像,黑色曲线为分段三次Hermite插值曲线四、算法分析上述图像中黑色的曲线为分段分段三次Hermite插值多项式所对应的图像,由图像可看出黑色的分段三次Hermited插值函数图像和拉格朗日、分段线性插值相比与红色被逼近函数的重合度最好,说明分段三次Hermite插值在函数的各节点两边插值函数的导数是相等的,保证了在各节点的平滑性,且不会出现Runge现象。
三次Hermite插值
04 实例分析
CHAPTER
实例一:已知数据点的插值
总结词
利用已知数据点进行插值,可三次Hermite插值方法,利用已知的数据点来估计未知点的值。这 种方法能够更好地处理数据点的变化,并提高插值的精度。
CHAPTER
插值多项式的构造
定义
Hermite插值法是一种通过已知的离散数据点来构造一个多 项式,使其能够准确地经过这些数据点,并尽可能地平滑地 连接这些点的方法。
构造方法
Hermite插值多项式由两个部分组成,一个是线性函数,另 一个是二次函数。线性函数部分用于确保插值多项式能够准 确地经过数据点,而二次函数部分则用于保证插值多项式的 平滑性。
实例二:未知数据点的插值
总结词
在未知数据点的情况下,可以通过三次 Hermite插值方法,预测并估计未知点的值。
详细描述
在数据点未知的情况下,可以利用三次 Hermite插值方法,根据已知的数据点来预 测和估计未知点的值。这种方法能够为后续 的数据分析和处理提供重要的参考依据。
实例三:复杂函数的插值
三次Hermite插值能够提供高精度的插值结果,特别是在处理
复杂函数时。
稳定性好
02
该方法在处理大数据集时表现出良好的稳定性,不易受到噪声
和异常值的影响。
易于实现
03
三次Hermite插值的算法相对简单,易于在计算机上实现和优
化。
三次Hermite插值的局限性
对初始数据敏感
三次Hermite插值的结果对初始数据的选择 较为敏感,不同的初始数据可能导致不同的 插值结果。
数值分析实验报告Hermite插值法、Runge现象,比较Language插值、分段线性插值、分段三次Hermie插值
山东师范大学数学科学学院实验报告x 0.1 0.5 1 1.5 2 2.5 3y 0.95 0.84 0.86 1.06 1.5 0.72 1.9y' 1 1.5 2 2.5 3 3.5 4求质点在时刻1.8时的速度,并画出插值多项式的图像。
1)运用Hermite插值法画出图像,如图4-1,并求质点在时刻1.8时的速度。
>>clear>>clc>>X=[0.1 0.5 1 1.5 2 2.5 3;0.95 0.84 0.86 1.06 1.5 0.72 1.9;1 1.5 2 2.5 3 3.5 4];>> x=0.1:0.01:3;>> H=Hermite1(X,x);>> plot(x,H)>> hold on>> plot(X(1,:),X(2,:),'r*')>> H1_8=Hermite(X,1.8);>> plot(1.8,H1_8,'go')>> legend('插值图像','原始点','目标点');图4-1二、验证高次插值的Runge现象问题分析和算法设计(一)Language插值代码function [Ln] =Lagrange(X,x)%请输入2*n+1矩阵X,X中第一行每个元素都是插值节点,X中第二行每个元素都是插值节点对应的函数值;%第二章P24例一拉格朗日插值n=size(X,2);d=0;for m=1:1:nif x==X(1,m);d=m;breakendend运行结果和总结 运行结果 例:给定函数55,11)(2≤≤-+=x xx f ; (1) 验证表2-10的误差结果(高次插值的Runge 现象);(2) 以0.1为步长分别进行Language 插值、分段线性插值、分段三次Hermite插值,画出三种插值函数以及f(x)的图像,比较三种插值结果。
数值计算(数值分析)实验4-分段三次埃尔米特(hermite)插值【c程序实现+流程图】
实验四分段三次埃尔米特插值(一)实验目的掌握分段三次埃尔米特插值算法。
(二)实验项目内容1.写出计算步骤和流程图。
2.对每种算法分别用C或c#程序实现。
3.调试程序。
可用以下数据进行调试。
已知函数y=1/(1+x2)在区间[0,3]上取等距插值节点,求区间[0,3]上的分段三次埃尔米特插值函数,并利用它求出f(1.5)的近似值(0.3075)。
x0 1 2iy 1 0.5 0.2 iy 0 -0.5 -0.16 i(三)主要仪器设备微机(四)实验室名称公共计算机实验室(五)实验报告撰写实验四分段三次埃尔米特插值实验报告一、流程图二、 程序代码#include<stdio.h>#include<math.h>float f0(float x) N Y开始输入i x ,i y ,xy=0, j=0t=1i j ix x t t x x -=- i=0,…j-1,j+1,…n i y y ty =+j=n? 输出y结束j=j+1{return((x-1)*(x-1)*(2*x+1));}float f1(float x){return(x*x*(-2*x+3));}float g0(float x){return(x*(x-1)*(x-1));}float g1(float x){return(x*x*(x-1));}void main(){float x0,x1,x,y0,y1,yy0,yy1,h,p;printf("输入x0,x1,x,y0,y1和yy0,yy1的取值");scanf("%f%f%f%f%f%f%f",&x0,&x1,&x,&y0,&y1,&yy0,&yy1); h=x1-x0;p=y0*f0((x-x0)/h)+y1*f1((x-x0)/h)+h*yy0*g0((x-x0)/h)+h*yy1*g1((x-x0)/h);printf("%f\n",p);}三、运行结果【截图】。
3.3 Hermite插值法
x x0 x x1 2 x x 1 y0 1 2 x x x x y1 1 2 x x 1 0 0 0 1 1
x x0 x x 0 1
2
2
x x0 y0
求f ( x)的两点三次插值多项式, 及f ( x)在x 1.5,1.7处的函数值.
解:
x0 1, x1 2
0, y1 1 y0 2 , y1 3 y0
2
0 ( x) y1 1 ( x) H 3 ( x) y00 ( x) y11 ( x) y0
2 0
2
x x1 x x0 1 ( x) (1 2l0 ( x)) l ( x) 1 2 x x x x 0 1 1 0
2 1
2
x x1 0 ( x) ( x x0 ) l02 ( x) x x0 x x 1 0
x0 x1
以上分析都能成立吗?
当f
( 4)
( x)在[ x0 , x1 ]上存在且连续时, 上述余项公式成立
2处的函数值为f (1) 2 , f ( 2 ) 3 例1.已知f ( x )在节点1, f ( x )在节点1, 2处的导数值为f (1) 0 , f ( 2 ) 1
( x) y00 ( x) y11 ( x) y0 0 ( x) y1 1 ( x) H3
其中
0 ( x0 ) 1
0 ( x1 ) 0
( x1 ) 0 ( x0 ) 0 0 0
1 ( x0 ) 0
0 ( x0 ) 0
浅谈分段三次埃尔米特插值
H3 (x) y00 (x) y11 (x) m0 0 (x) m11 (x) 由上表可知 0 (x1) 0(x1) 0 可将它写成 0 (x) [a b(x x0 )](x x1)2
由
,得
再由
,得
,所以
同样由
,可令
再由
,
,
所以
即 l0 (x),l1(x) 为以 (x0 , y0 ), (x1, y1 ) 插值点 Lagrange 一次 基函数。
·71·
化的数据,但是通过插值法就可以将这些数据变成一个具有一定关系的函数表达式。在求解插值函数时希望的是能够无限靠
近离散数据,那么为了使插值函数能够更加与原函数吻合,不但要求节点处相等,更加要求其导数值也相等,这种插值就叫
做埃尔米特插值。文章通过介绍三次埃尔米特插值,对其唯一性和插值余项进行详细说明。
关键词 插值法;埃尔米特插值;插值余项
式 H3 (x) ,
使其满
足:
HH33'
(xi (xi
) )
yi mi
(i=0,1), H 3 (x) 称为三次
埃尔米特插值多项式。
下面的定理给出了插值多项式的存在唯一性。
定理 3 满足条件式
H 3 (xi )
yi
,
H
' 3
(
xi
)
mi
(i=0,1) 的三
次埃米尔特插值多项式存在且唯一。
构造方法:设三次埃尔米特插值多项式表达式如下:
1 三次埃尔米特插值多项式
问题描述:设 y=f(x)是区间[a, b]上的实函数, , 是
[a, b]上相异两点,且 < , y=f (x)在 上的函数值和一阶导
. Al数l值分Ri别g为hty sf (Rxie) (si=e0,r1)v和emdi . f ' (xi ) (i=0,1),求三次多项
数值计算方法教案插值方法
复习: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.误差分析(泰勒余项定理):()()()()()()1101!n n n f P x f x x x n ξ++-=-+,其中ξ在0x 与x 之间。
5.举例:已知函数()f x ()115f 。
埃尔米特插值法
埃尔米特插值法埃尔米特插值法是一种利用已知数据点构建插值函数的方法,它可以通过给定的数据点来预测未知数据点的值。
这种方法是由德国数学家埃尔米特在19世纪末发明的,因此得名。
埃尔米特插值法的基本思想是利用已知数据点和其导数来构造一个多项式函数,该函数可以完美地通过这些数据点,并在每个点处具有相同的导数。
这样,就可以使用该多项式函数来计算任意位置处的函数值和导数。
具体而言,假设我们有n个数据点(xi,yi),其中i=0,1,…,n-1。
我们还假设我们已经知道了每个数据点处的导数yi'。
那么,我们可以通过以下方式构造一个n次多项式函数p(x):p(x) = Σ[i=0,n-1] Li(x)yi + Σ[i=0,n-1] Mi(x)yi'其中Li(x)和Mi(x)分别为拉格朗日插值基函数和埃尔米特插值基函数。
拉格朗日插值基函数Li(x)定义为:Li(x) = Π[j=0,j≠i,n-1] (x-xj)/(xi-xj)而埃尔米特插值基函数Mi(x)定义为:Mi(x) = [1-2(xi-x)/hi]L^2i(x) + (x-xi)/hi L'i(x)其中hi为第i个数据点的步长,即xi+1-xi,L'i(x)为Li(x)的一阶导数。
使用这些基函数,我们可以计算任意位置x处的函数值p(x)。
此外,我们还可以通过求导来计算p(x)在任意位置x处的导数。
具体而言,p(x)在位置x处的导数可以表示为:p'(x) = Σ[i=0,n-1] Mi'(x)yi + Σ[i=0,n-1] Mi(x)yi'其中Mi'(x)为Mi(x)的一阶导数。
需要注意的是,在实际应用中,我们通常不知道每个数据点处的精确导数值。
因此,我们需要根据已知数据点推断出这些导数值。
一种常见的方法是使用差分逼近法来估计数据点处的导数值。
总之,埃尔米特插值法是一个强大而灵活的插值方法,它可以用于各种不同类型的数据集,并且能够提供高精度和高效率的预测结果。
《数值分析》教学大纲
《数值分析》教学大纲误差分析和解的精度改进第五节大型稀疏方程组的迭代法第五节极小化方法第六节Matlab与应用实例难点:列主元高斯消元法,直接矩阵三角分解。
迭代法的收敛性,雅可比迭代法,高斯-塞德尔迭代法,SOR迭代法。
重点:迭代法的收敛性,雅可比迭代法,高斯-塞德尔迭代法,SOR迭代法。
第四章代数特征值问题(8学时)乘幂法是一种计算实矩阵的按模最大的特征值及其相应的特征向量的方法。
其特点是不破坏原始矩阵,直接使用原矩阵进行计算。
而反幂法常用于求按模最小的特征值及其相应的特征向量,其有效性依赖于特征值的分布情况。
雅可比方法、QR方法都属于变换法,经过正交相似变换,将原矩阵化为易于求特征值的特殊形式。
优点是收敛速度快,稳定性好。
第一节特征值的估计与数值稳定性第二节幂法与反幂法第三节求实对称矩阵特征值的雅可比(Jacobi)方法第四节求矩阵全部特征值的QR方法第五节Matlab与应用实例难点:QR 方法。
重点:利用吉文斯(Givens)矩阵和豪斯豪尔德(Householder)变换阵求矩阵的正交分解。
相似变换。
第五章函数插值(6学时)代数插值是函数逼近的重要方法,也是数值积分、数值微分及微分方程数值解法的基础。
常用的插值法有适用于非等距节点的拉格朗日插值多项式、牛顿插值多项式,还有适用于等距节点的牛顿前差插值多项式和牛顿后差插值多项式。
为了插值多项式能与被插函数较好地吻合,我们介绍了埃尔米特插值多项式。
鉴于高次插值的不稳定性,在插值点较多情况下,一般采用分段低次插值法,此类方法计算简单且具有良好的稳定性和收敛性,应用较广泛。
样条插值函数也是分段插值函数,它可以保证分段插值函数在整个区间上具有连续的二阶导数,因此具有较好的光滑性,收敛性和稳定性。
掌握上述常用插值方法及其优点、缺点,能够根据实际问题选择适当的插值方法进行函数逼近,并且能够编写程序。
第一节插值基本问题第二节两种基本的代数插值第三节埃尔米特(Hermite)插值第四节分段低次插值第五节样条插值第六节多维插值第七节Matlab与应用实例难点:埃尔米特插值,三次样条插值。
分段低次插值
二、分段多项式插值
在大范围且节点较多的情况下,常采用分段低次多项式插值, 大致可分为两类,一类为局部化分段插值,即把插值区间分段后, 在每个小区间上直接构造低次插值多项式,也叫简单分段插值; 另一类是非局部化分段插值,即在整个区间上构造分段插值多项 式,如样条插值。 1、分段线性插值 y 所谓分段线性插值就是用通过插值点的折线段逼近f(x).
,x j 1 x x j ( j 0 略去 ), ,x x x j j 1 ( j n 略去 ),
2
2
x [ x j 1 , x j 1 ].
2 x x j1 ,x ( x x j ) j 1 x x j ( j 0 略去 ), x x j1 j 2 x x j1 ,x x x j ( x ) ( x x j ) j j 1 ( j n 略去 ), x x j1 j x [ x j 1 , x j 1 ]. 0,
jk
, ( j , k 0 ,1 , , n ), 表示为 , x j 1 x x j ( j 0 略去 ), , x j x x j 1 ( j n 略去 ), x [ x j 1 , x j 1 ].
x x j1 x j x j1 x x j1 x j x j1 0,
x xk f k ( x x k 1 ) x k 1 xk
若在整个区间
[ a , b ]上定义一组分段三次插
值基函数 j ( x )
及 j ( x ) ( j 0 ,1 , , n ), 则 I h ( x ) 可表示为 I h ( x ) f j j ( x ) f j j ( x ) ,
教案三埃尔米特插值法和分段低次插值法
f (1) = 0, f (2) = 0.693147, f ′(2) = 0.5.
试用埃尔米特插值法计算 f (1.5) 的近似值。 重点讲解基函数的构造和计算过程。
2.5.2 构造差商表的方法 如果插值条件中不仅出现了一阶导数,还出现了高阶导数,那么利用构造差
商表的方法十分有效。方法如下:
(1).在利用插值条件构造差商表时,把具有一阶导数要求的节点看成是二 重节点(即两个节点),把具有二阶导数要求的节点看成是三重节点(即三个节
(2.9)
因为该插值条件包含 2n+2 个独立等式,所以一定可以确定唯一一个 2n+1 次的
多项式 H (x) 满足上述条件。记之为 H2n+1(x) 。
1
2.5.1 构造基函数的方法
类似于拉格朗日插值多项式的构造方法,用具有特殊性质的基函数来构造 埃尔米特插值多项式。利用插值节点构造如下两类特殊的 是 αi (x) 和 βi (x),i = 0,1,L, n, 的 线 性 组 合 , 组 合 系 数 为
yi , mi ,i = 0,1,L, n, 所以称αi (x) 和 βi (x) 为埃尔米特插值多项式的基函数,并把上 述求埃尔米特插值多项式的方法叫做构造基函数方法。 例 2.5.1 设 f (x) = ln x 。现已知 f (x) 的下列数据:
,
βi−1
(x)
=
(x
−
)⎛
xi−1 ⎜ ⎝
x − xi xi−1 − xi
⎞1 ⎟ ⎠
,
βi
(
x
)
=
(
x
−
xi
)
⎛ ⎜ ⎝
x xi
− −
xi −1 xi −1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+
mi −1βi −1 ( x)
+
miβi (x)
其中,
αi−1
(
x)
=
⎛⎜1 + ⎝
2
x xi
− xi−1 − xi−1
⎞⎛ ⎟⎜ ⎠⎝
x − xi xi−1 − xi
⎞2 ⎟ ⎠
,
αi
(
x)
=
⎛ ⎜1
+
⎝
2
x − xi xi−1 − xi
⎞ ⎟ ⎠
⎛ ⎜ ⎝
x xi
− −
xi−1 xi−1
⎞2 ⎟ ⎠
f (1) = 0, f (2) = 0.693147, f ′(2) = 0.5.
试用埃尔米特插值法计算 f (1.5) 的近似值。 重点讲解基函数的构造和计算过程。
2.5.2 构造差商表的方法 如果插值条件中不仅出现了一阶导数,还出现了高阶导数,那么利用构造差
商表的方法十分有效。方法如下:
(1).在利用插值条件构造差商表时,把具有一阶导数要求的节点看成是二 重节点(即两个节点),把具有二阶导数要求的节点看成是三重节点(即三个节
( xk
)
=
[1 −
2( xk
−
xi
)li' (xi
)]li2
( xk
)
=
⎧1, k ⎨⎩0, 0. βi (xk ) = 0.
βi'
(
xk
)
=
⎧1, k ⎨⎩0, k
= ≠
i, i.
利用上述性质,构造埃尔米特插值多项式:
n
∑ H2n+1(x) = [ yiαi (x) + miβi (x)] 。 i=0
2.6.2 分段低次插值法
最基本的分段低次插值是分段线性插值,就是通过相邻两个插值点作插值来
构造分段插值多项式的。即在区间[xi−1, xi ](i = 1, 2,L, n) 上,有
f
(
x)
≈
P(i) 1
(
x)
x − xi xi−1 − xi
yi−1 +
x − xi−1 xi − xi−1
yi
从几何上看,分段线性插值就是用连接插值点的折线代替被插函数。 因为每一段上的截断误差为
满足插值条件(2.9)埃尔米特插值多项式,则对任何 x ∈[a,b] ,插值余项
R2n+1(x) =
f (x) − H2n+1(x) =
1 (2n + 2)!
f
(2n+2)
(ξ
)π
2 n+1
(
x)
(2.10)
其中ξ ∈ (a,b) 依赖于 x 。
§2.6 分段低次插值法
2.6.1 龙格现象 构造未知函数或复杂函数的插值多项式,并不是次数越高越好。
,
βi−1
(x)
=
(x
−
)⎛
xi−1 ⎜ ⎝
x − xi xi−1 − xi
⎞1 ⎟ ⎠
,
βi
(
x
)
=
(
x
−
xi
)
⎛ ⎜ ⎝
x xi
− −
xi −1 xi −1
⎞2 ⎟ ⎠
,
因为截断误差:
|
f
(x) −
H
(i 3
)
(
x)
|=
1| 4!
f
(4) (ξ )(x
−
xi−1)2 (x −
xi )2
|≤
1 384
(2.9)
因为该插值条件包含 2n+2 个独立等式,所以一定可以确定唯一一个 2n+1 次的
多项式 H (x) 满足上述条件。记之为 H2n+1(x) 。
1
2.5.1 构造基函数的方法
类似于拉格朗日插值多项式的构造方法,用具有特殊性质的基函数来构造 埃尔米特插值多项式。利用插值节点构造如下两类特殊的 2n+1 次多项式:
|
f
(4) (ξ ) | h4
其中
h
=
max {|
1≤i≤n
xi
−
xi−1
|} ,所以只要
f
(4) (x) 在插值区间上连续,且
h
→
0
时,那么
分段三次埃尔米特插值的截断误差也趋于零,即分段埃尔米特插值法是收敛的。
课堂小结
布置作业
参考文献
1. Burden R L, Faires J D.Numerical Ananlysis(Fourth Edition). Prindle, Boston, Weder and Schmidt,1989. 2. Stoer J.,Bulirsch R.,Introduction to Numerical Analysis, Second Edition, SpringerVerlag, NewYork, 1992. 3. 邓建中,刘之行. 计算方法(第二版).西安交通大学出版社,2001. 4. 韩旭里. 数值分析. 中南大学出版社,2003.
问题引入
如果插值条件要求插值多项式与被插函数在某些点的函数值和导数值分别 对应相等,这种插值多项式为埃尔米特(Hermite)插值多项式,构造埃尔米特 插值多项式的方法就是埃尔米特插值法。
§2.5 埃尔米特插值法
假设待构造的多项式 H (x) 需要满足如下插值条件:
H (xi ) = yi , H ' (xi ) = mi ,i = 0,1,L, n.
教案三 埃尔米特插值法和分段低次插值法
基本内容提要 1 埃尔米特插值法及基函数 2 龙格现象 3 分段低次插值法 教学目的和要求 1 掌握埃尔米特插值法及其相关概念 2 理解利用基函数构造埃尔米特插值多项式的思想 3 理解分段低次插值法的基本思想 教学重点 1 埃尔米特插值基函数及插值多项式的表达式 2 分段低次插值法的基本思想 教学难点 1 利用基函数的方法构造埃尔米特插值多项式的思想方法和过程 2 利用构造差商表的方法构造埃尔米特插值多项式的思想方法和过程 3 插值余项公式的证明思路 课程类型 新知识理论课 教学方法 结合提问,以讲授法为主 教学过程
例 2.6.1 给定函数
f (x) = 1 , −1 ≤ x ≤ 1 1+ 25x2
取等距节点
xi
=
−1+ ih, h
=
2 n
,构造
f
(x)
的
n
次拉格朗日插值多项式,并画
出 f (x) 和 Ln (x)(n = 4,10) 的图象。
利用本例说明龙格现象。 龙格现象说明前面介绍的插值方法未必收敛,即其截断误差并不一定随着 n 趋于无穷大而随之减小。
|
f
(x) −
P1i
|=
1 2
|
f
′′(ξ )(x
−
xi−1)(x −
xi ) |≤
1 8
|
f
′′(ξ ) | (xi
−
xi −1 ) 2
≤
1 8
|
f
′′(ξ ) |
h2
其中 h
=
max {|
1≤i≤n
xi
−
xi−1
|} ,所以只要
f
′′( x)
在插值区间上连续,且
h
→
0
时,那么
分段线性插值的截断误差趋于零,即分段线性插值法是一种收敛方法。
4
如果还知道被插函数 f (x) 在每个节点处的导数值 mi ,那么我们就可以在区
3
间 [xi−1, xi ](i = 1, 2,L, n) 上构造三次埃尔米特插值多项式近似被插函数,即当
x ∈[xi−1, xi ]时,
f
(x)
≈
H
(i 3
)
(
x)
=
yi −1α i −1 ( x)
+
yiαi (x)
由 于 H2n+1(x) 是 αi (x) 和 βi (x),i = 0,1,L, n, 的 线 性 组 合 , 组 合 系 数 为
yi , mi ,i = 0,1,L, n, 所以称αi (x) 和 βi (x) 为埃尔米特插值多项式的基函数,并把上 述求埃尔米特插值多项式的方法叫做构造基函数方法。 例 2.5.1 设 f (x) = ln x 。现已知 f (x) 的下列数据:
⎧α ⎨ ⎩
i
(
x) = βi
[1 − (x)
2( x = (x
− −
xi )li' (xi )]li2 xi )li2 (x),
(
x),
i = 0,1,L, n,
其中, li (x),i = 0,1,L, n, 是拉格朗日插值多项式的基函数。
可以验证,αi (x) 和 βi (x) 具有性质:
αi
点),以此类推。
显然,在计算重合节点的差商时,要利用公式
f
[ xi
,
xi ,L,
xi
]
=
1 n!
f
n
( xi
)
2
(2).根据所构造的差商表,按牛顿插值多项式的写法就能得到埃尔米特插 值多项式。
上述方法又称作推广的牛顿插值法。
定理 2.5.1 假设 f (2n+1) (x) 在[a, b] 上连续, f (2n+2) (x) 在 (a, b) 内存在。 H2n+1(x) 是