5.4 三次Hermite插值

合集下载

三次Hermite插值曲线及曲面的构造与显示汇总

三次Hermite插值曲线及曲面的构造与显示汇总

三次Hermite插值曲线及曲面的构造与显示摘要曲线曲面造型是计算机几何设计和计算机图形学的1项重要内容,主要研究在计算机图像系统的环境下对曲线曲面的表示、设计、显示和分析。

作为它的1个重要组成部分,Hermite 插值曲线曲面以其特性不仅在几何造型系统中有着广泛的应用,而且在工程设计中也受到了人们的青睐。

本文简要介绍了Hermite插值曲线与Conns曲面的定义和相关定理,阐述了如何构造Ferguson曲面及双3次Conns曲面,对3次Hermite插值曲线曲面的广泛应用也做了相应的举例说明。

文章采用 MATLAB语言来绘制3次Hermite插值曲线及Coons曲面。

matlab语言丰富的图形表现方法,极大的简化了3次Hermite曲线曲面的绘制过程,可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。

关键词:Hermite插值曲线;合成Ferguson曲线;Coons曲面;MATLAB语言; Abstract The curve surface modeling that is a important content in the computer aided geometric design and computer graphics, it chiefly researchs the expression, design, display and analysis of the curve and surface under the computer image system environment. The Hermite interpolation curve andsurface , as the important component of the curve and surface modeling, that not only has wide application in the geometry modeling system, but also assist many people in the engineering design. This paper introduces the definition and correlative theery of Hermite interpolation curve and the Coons surface briefly, and elaborates how to structure the Ferguson surface and double cubic Coons surface, moreever, this paper also make some corresponding explanations and examples for the wide application of cubic Hermite interpolation curve and suface. This paper uses the MATLAB language to draw up cubic Hermite interpolation curve and Coons surface. There arerichful performance methods of graphics in MATLAB language, this make the drowing process of cubic Hermite curve and surface very easy, and make the accomplishment of visualization conveniently, multiply. These points are useful advantages that other language don’t have. Keywords:Hermite interpolation curve;Complex Ferguson curve;Coons surface;MATLAB language;。

5.4埃尔米特(Hermite)插值

5.4埃尔米特(Hermite)插值
不超过三次的Hermite的插值多项式H3(x)使
H3(xi) = yi
H´3(xi) = y´i x
(i=0,1,2)
1 1
0 0 0
1 1
y ( x) y f ( x )

所求三次Hermite的插值多项式为
H 3 ( x ) a0 a1 x a2 x 2 a3 x 3
i( x j ) 0 i ( x j ) 0
(i, j =0,1,2, …,n)
Hermite插值多项式可写成插值基函数表示的形式
H 2 n1 ( x ) i ( x ) f ( xi ) i ( x ) f ( xi )
i 0
n
计算方法
验证:
H 2n1 ( x j ) i ( x j ) f ( xi ) i ( x j ) f ( xi ) ij f ( xi ) 0 f ( x j )
n
计算方法
H2n+1(x)为满足条件
H ( xi ) f ( xi ),
H ( xi ) f ( xi )
( i 0,1, , n)
的2n+1次Hermite插值多项式。
计算方法
定理
满足插值条件
H ( xi ) f ( xi ) ( i 0,1, , n)
H ( xi ) f ( xi ),
其中
( x ) ( x x0 )( x x1 )( x xn )
(a, b)
定理的证明可仿照Lagrange插值余项的证明方法
实际中使用最广泛的是三次Hermite插值多项式,即 n=1的情况
计算方法
H 3 ( x ) j ( x ) f ( x j ) j ( x ) f ( x j )

参数三次埃尔米特插值实例分析

参数三次埃尔米特插值实例分析

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]

分段三次hermite函数

分段三次hermite函数

分段三次hermite函数
分段三次 Hermite 函数是一种用于插值数据、拟合数据以及数值微分的函数。

它的特点是可以通过选择足够的基函数来适应各种不同的非线性函数。

本文将深入探讨分段三次 Hermite 函数的定义、应用和优点。

一、定义
分段三次 Hermite 函数是一种三次多项式函数。

它由基函数和插值条件构成。

1. 基函数
1)常数项
2)线性项
3)二次项
这些基函数可以用于构建分段三次 Hermite 函数,使其适应不同的非线性函数。

2. 插值条件
1)值的匹配条件
二、应用
分段三次 Hermite 函数广泛应用于数值微分、插值和拟合。

下面将分别介绍这些应用。

分段三次 Hermite 函数可以用于插值数据。

通过确定插值条件,可以得到一个分段三次 Hermite 函数,使其在给定数据点处与目标函数匹配。

这种方法常常用于构建数值框架,如数值微分和数值积分。

3. 拟合
三、优点
1. 精确度高
2. 稳定性高
分段三次 Hermite 函数具有优良的稳定性。

它可以处理大量的数据,而不会出现精度问题或数值不稳定性。

3. 方便性高
4. 可扩展性高
分段三次 Hermite 函数具有非常强的可扩展性。

它可以扩展到高维空间,适应各种不同的数据类型,从而得到非常精确的结果。

在第一个插值点上的hermite三点插指公式

在第一个插值点上的hermite三点插指公式

在第一个插值点上的hermite三点插
指公式
在第一个插值点上的hermite三点插指公式
Hermite三点插值法是一种采用三个插值点来求解函数f(x)在给定范围内的曲
线图的插值算法,通常是用来拟合y=f(x)在离散中提供的三个点的插值函数,在
第一个插值点的提出的这种特定的三点插值模型,即对第一个插值点位置
(x0,f(x0)),其中x0为插值点位置,f(x0)为其处的函数值,用的三点模型可写为:
f(x)=f(x0)+f'(x0)(x-x0)+[f''(x0)/2](x-x0)^2
即,把第一个插值点位置(x0,f(x0))处的点代入,可以得到其相应的函数拟合
多项式,当然,并不是每一个函数拟合多项式都能满足实际需求,这就需要注意函数拟合多项式的拟合度,可以在参数估计和函数估计的时候,使用一定的误差来估计函数值,从而获得函数拟合度较好的模型。

此外,在使用Hermite三点插值法时,需要注意三个点之间的位置关系,三个
点位于x0,x1,x2等位置,在确定每个点的位置时应该考虑到它们之间的距离,
一般来说,三个点之间的间距应保持一定,以使插值函数尽可能精确的反映函数的实际变化。

因此,要使得Hermite三点插值法能取得较好的效果,在确定三个插值点的位
置的时候要综合考虑它们之间的位置关系,以及在第一个插值点的估计时要注意拟合度,这样就能很好的进行三点插值,从而得到准确的结果。

数值分析实验六(分段三次Hermite插值)

数值分析实验六(分段三次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现象。

5.4 三次Hermite插值

5.4 三次Hermite插值
2
由于0 ( x0 ) 0 ( x1 ) 0( x1 ) 0, 故 0 ( x) 含有 ( x x0 )( x x1 ) 因子。可设
0 ( x) c( x x0 )( x x1 )2
2
其中c为待定系数。
1 . 由 0( x0 ) 1, 可得 c 2 ( x0 x1 )
称 H3 ( x) 为三次Hermite插值多项式,上述条件称 为此问题的插值条件。
采用基函数的方法来构造 H3 ( x) 。
将 H3 ( x) 表示为:
H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
其中 0 ( x),1 ( x), 0 ( x), 1 ( x)为插值基函数,且均为次数 不超过3的多项式。为满足插值条件,它们应满足
并给出余项公式。
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3 H3 ( x) y00 ( x) y11( x) y22 ( x) m11( x)
函数值
导数值
x0
x1
0
1
x2
0 0
1
x1
0 0 0
1
0 ( x)
1( x)
2 ( x )
作为多项式插值,三次已是较高的次数,次数再高就有 可能发生Runge现象,因此,对有n+1节点的插值问题, 我们可以使用分段两点三次Hermite插值
例1 对给定数表
x
y
x0 y0
x1 y1 m1
x2 y2
y
求一个三次Hermite插值多项式 H3 ( x) 满足条件
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3

三次Hermite插值

三次Hermite插值
检查插值多项式是否满足Hermite插 值的约束条件,即插值多项式和原函 数在节点处有相同的函数值和导数值 。
04 实例分析
CHAPTER
实例一:已知数据点的插值
总结词
利用已知数据点进行插值,可三次Hermite插值方法,利用已知的数据点来估计未知点的值。这 种方法能够更好地处理数据点的变化,并提高插值的精度。
CHAPTER
插值多项式的构造
定义
Hermite插值法是一种通过已知的离散数据点来构造一个多 项式,使其能够准确地经过这些数据点,并尽可能地平滑地 连接这些点的方法。
构造方法
Hermite插值多项式由两个部分组成,一个是线性函数,另 一个是二次函数。线性函数部分用于确保插值多项式能够准 确地经过数据点,而二次函数部分则用于保证插值多项式的 平滑性。
实例二:未知数据点的插值
总结词
在未知数据点的情况下,可以通过三次 Hermite插值方法,预测并估计未知点的值。
详细描述
在数据点未知的情况下,可以利用三次 Hermite插值方法,根据已知的数据点来预 测和估计未知点的值。这种方法能够为后续 的数据分析和处理提供重要的参考依据。
实例三:复杂函数的插值
三次Hermite插值能够提供高精度的插值结果,特别是在处理
复杂函数时。
稳定性好
02
该方法在处理大数据集时表现出良好的稳定性,不易受到噪声
和异常值的影响。
易于实现
03
三次Hermite插值的算法相对简单,易于在计算机上实现和优
化。
三次Hermite插值的局限性
对初始数据敏感
三次Hermite插值的结果对初始数据的选择 较为敏感,不同的初始数据可能导致不同的 插值结果。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
0 0 0
0 0
1 ( x)
0
( x) f ( x) H3 ( x) K( x)(x x0 )2 ( x x1 )2 0
i 0 ,1
因此(t )至少有 5个零点
连续使用4次Rolle定理,可得, 至少存在一点 [ x0 , x1 ] 使得
( 4 ) ( ) 0

( 4) ( ) f ( 4) ( ) 4! K ( x) 0
0, i j i ( x j ) ij , i( x j ) 0, 1, i j i ( x j ) 0, i( x j ) ij , (i, j 0,1)
( xi ) mi , (i 0,1) H3 ( xi ) yi , H3 H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
§
5.4 埃尔米特(Hermite)插值
--要求在节点处两者相切,即导数值相等.
, xn b处的函数值为f 0 , f1, , fn ,
设f ( x)在节点 a x0 , x1,
设P( x)为f ( x)的在区间 [a, b]上的具有一阶导数的插 值函数
(1) 若要求P( x)在[a, b]上具有一阶导数 (一阶光滑度 )
f0 2, f1 3
f 0 0, f1 1
H3 ( x) f 00 ( x) f11 ( x) f00 ( x) f11 ( x)
x x1 x x0 x x1 f 0 1 2 x x f1 1 2 x x x x 1 1 0 0 0 1 x x0 x x1 x x1 f f0 x x0 1 x x x x 0 1 1 0
0 0
1 ( x)
0
x x0 x x1 0 ( x) 1 2 x1 x0 x0 x1
2
类似地,将 x0 , x1 互换,可得
x x1 x x0 1 ( x ) 1 2 x x x x 0 1 1 0
P ( xi ) f ( xi ) f i P ( xi ) f ( xi ) f , i 0,1, ,n
P( x)可以是最高次数为 2n 1次的多项式
两个节点就可以用 2 1 1 3次多项式作为插值函数
(2) 同样, 若要求P( x)在[a, b]上具有m阶导数(m阶光滑度 ) 即P( x)在节点 x0 , x1 ,, xn处必须满足
并给出余项公式。
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3 H3 ( x) y00 ( x) y11( x) y22 ( x) m11( x)
函数值
导数值
x0
x1
0
1
x2
0 0
1
x1
0 0 0
1
0 ( x)
1( x)
2 ( x )
x x1 x x0 1 ( x) 1 2 x x x x 0 1 1 0
2
x x1 0 ( x) ( x x0 ) x x 0 1
2
x x0 1 ( x) ( x x1 ) x1 x0
2 2
x x0 x x 0 1
2
2
2 H 3 ( x) 21 2( x 1) x 2 2 31 2( x 2) x 1
x 2 x 12
3 x 3 13x 2 17x 9
f (1.5) H 3 (1.5) 2.625 f (1.7 ) H 3 (1.7 ) 2.931
2
由于0 ( x0 ) 0 ( x1 ) 0( x1 ) 0, 故 0 ( x) 含有 ( x x0 )( x x1 ) 因子。可设
0 ( x) c( x x0 )( x x1 )2
2
其中c为待定系数。
1 . 由 0( x0 ) 1, 可得 c 2 ( x0 x1 )
称 H3 ( x) 为三次Hermite插值多项式,上述条件称 为此问题的插值条件。
采用基函数的方法来构造 H3 ( x) 。
将 H3 ( x) 表示为:
H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
其中 0 ( x),1 ( x), 0 ( x), 1 ( x)为插值基函数,且均为次数 不超过3的多项式。为满足插值条件,它们应满足
5.4.2 三次Hermite插值
--考虑只有两个节点的三次Hermite插值
已知插值节点 x0 , x1 上的函数值及导数值分别 为
yi f ( xi ), mi f ( xi ), (i 0,1),
要求的是一次数不超过3的多项式 H3 ( x) ,使满足
( xi ) mi , (i 0,1). H3 ( xi ) yi , H3
x0 , x1均为R3 ( x)的二重零点 ,因此可设
R3 ( x) K ( x)(x x0 )2 ( x x1 )2
其中K ( x)待定
构造辅助函数
均是 二重零点
(t ) f (t ) H3 (t ) K( x)(t x0 )2 (t x1 )2
( xi ) f ( xi ) H3 ( xi ) K( x)(xi x0 )2 ( xi x1 )2 0
两点三次Hermite插值的余项
两点三次Hermite插值的误差为
R3 ( x) f ( x) H 3 ( x) R3 ( xi ) f ( xi ) H 3 ( xi ) 0 ( xi ) f ( xi ) H 3 ( xi ) 0 R3
i 0 ,1
其中a,b为待定系数。
1 . 由 0 ( x0 ) 1, 可得 a 2 ( x0 x1 ) 2 . ( x0 ) 0, 可得 b 由 0 3 ( x0 x1 )
将a,b代入得
x x0 x x1 0 ( x) 1 2 x1 x0 x0 x1
函数值
导数值
x0
x1
0
1
x0
0 0
1
x1
0 0 0
1
0 ( x)
1( x)
0 ( x )
1
0 0 0
0 0
1 ( x)
0
0 ( x ) 2 ( x x ) ( x1 ) 0, 故 0 ( x)含有 由于 0 ( x1 ) 0 因子。可设 1
0 ( x) (a b( x x0 ))( x x1 )2
x x1 0 ( x ) ( x x0 ) x0 x1
2
类似地,将 x0 , x1 互换,可得
x x0 1 ( x ) ( x x1 ) x1 x0
2
x x0 x x1 0 ( x) 1 2 x1 x0 x0 x1
例. 已知f ( x)在节点1 , 2处的函数值为f (1) 2, f (2) 3
f ( x)在节点1, 2处的导数值为f (1) 0, f (2) 1
求f ( x)的两点三次插值多项式 , 及f ( x)在x 1.5,1.7处的函数值 .
解:
x0 1, x1 2
2
三次Hermite插值多项式 H3 ( x) 的表达式为
H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
可以证明,其余项为
f (4) ( ) R3 ( x ) f ( x ) H 3 ( x ) ( x x0 ) 2 ( x x1 ) 2 , 4! 其中 介于 x0 , x1 之间。
2
( xi ) mi , (i 0,1) H3 ( xi ) yi , H3 H3 ( x) y00 ( x) y11( x) m00 ( x) m11( x)
函数值
导数值
x0
x101源自x00 01x1
0 0 0
1
0 ( x)
1( x)
0 ( x )
1
0 0 0
P( xi ) f ( xi ) fi P( xi ) f ( xi ) fi P( xi ) f ( xi ) fi
P ( m ) ( xi ) f ( m ) ( xi ) f i ( m )
i 0 ,1, , n
定义. 称满足(1)或(2)式的插值问题为Hermite插值, 称满足(1)或(2)式的插值多项式P(x)为Hermite插值多项式, 记为 H k ( x) ,k为多项式次数.
作为多项式插值,三次已是较高的次数,次数再高就有 可能发生Runge现象,因此,对有n+1节点的插值问题, 我们可以使用分段两点三次Hermite插值
例1 对给定数表
x
y
x0 y0
x1 y1 m1
x2 y2
y
求一个三次Hermite插值多项式 H3 ( x) 满足条件
( x1 ) m1, (i 0,1,2), H3 ( xi ) yi , H3
f ( 4 ) ( ) K ( x) 4!
所以,两点三次Hermite插值的余项为
f ( 4 ) ( ) R3 ( x ) ( x x0 )2 ( x x1 )2 4!
x0 x1
以上分析都能成立吗?
当f ( x)在[ x0 , x1 ]上存在时 , 上述余项公式成立
相关文档
最新文档