文档详情

[2018年最新整理]131张艳-埃尔米特(Hermite)插值逼近的C语言程序.doc

发布:2018-02-14约4.29千字共10页下载文档
文本预览下载声明
论文题目:埃尔米特(Hermite) 插值逼近的C语言程序 院 系: 数学科学学院 专 业: 数学与应用数学 姓 名: 张 艳 学 号: 指导教师: 侯 存 贵 完成时间: 2007-5-15 埃尔米特(Hermite) 插值逼近的C语言程序 张艳 包头师范学院数学科学学院 摘要:本文主要探讨埃尔米特(Hermite) 插值逼近的C语言程序算法,着重分析其推导过程,并给出了其C语言程序以及埃尔米特(Hermite)插值逼近的简单应用. 关键词:Hermite插值多项式;插值条件; Hermite插值基函数. 一、Hermite插值多项式定义 定义: 设基点互异.给定,,.要求插值多项式满足 (1) 则称为二重密切Hermite插值多项式,简称为Hermite插值多项式.称为二重插值基点. (1)式共有个条件,因此Hermite插值多项式通常次数不超过,故可将记为. 二、埃尔米特(Hermite)插值多项式的存在唯一性 定理:关于互异基点满足条件(1)的二重密切次Hermite插值多项式存在且唯一. 证明:设有2n+1次多项式 (2) 满足条件(1)即 (3) 由(2)式知(3)式是一个关于的阶线性方程组.的存在唯一性决定于(3)式为齐次线性方程系组,即当=0,=0()时,(3)式仅有平凡解 .现用反证法证明:若齐次方程组有非平凡解,则表示存在一个次数不高于的多项式满足 为的互异的二重零点,即次多项式有个零点(包括重数),这和代数基本定理相矛盾. 三、埃尔米特(Hermite)插值多项式的构造 由定理知存在且唯一,我们用类似于拉格朗日插值多项式的构造方法来构造Hermite插值多项式 设,,,分别满足插值条件 (4) (5) (其中表示克罗内克(Kronecker)符号.当, 时=1;当,时=0.)的次多项式,于是次数不超过次多项式 能够满足插值条件 .因而就是所要求的次多项式.因此只要构造出满足条件(4)(5)的和即可.我们把满足插值条件(4)(5)的次多项式和()称为Hermite插值基函数.下面构造和 由于关于基点的拉格朗日基函数满足 ( ,)且是次多项式,结合插值条件(4)设为,则依据条件(4)要求应有 当时,由于 故 当时应有 从中解出 可得 从而得到 设为 则 依据条件(5)要求应有 当时,由于 故 当时,故也应有 而 故 即 因此,我们得到埃尔米特插值函数的基函数为 根据插值条件,利用二重密切的Hermite插值基函数的性质,Hermite插值多项式可简单地表示为 四、埃尔米特(Hermite)插值多项式误差 在求解某些数学问题时,用有限的过程代替无限过程所产生的误差称为截断误差(或方法误差). 定理:a:设的导数于[a,b]连续,于(a,b)内存在, ()互异; b:为Hermite插值多项式; 则 . 其中与有关。 五、埃尔米特(hermite)插值程序 功能:给定个基点,()上的函数值及一阶导数值,,用埃尔米特(Hermite)插值公式计算出给定插值点处的函数近似值. 程序如下: #include stdio.h #include stdlib.h #include math.h #include ctype.h #define EPSILON 1.0e-12 #define N 3 double hermite(double x,double xi[N],double yi[N],double dyi[N]) { int i,j; static double li,sum,y,gix[N],hix[N]; for(i=0;iN;i++) { li=1.0;sum=0.0; for(j=0;jN;j++) if(j!=i) { if(fabs(xi[i]-xi[j])EPSILON) { printf(The interpolation base points overlapping!\n); printf(Strike any key to exit!\n); getch(); exit(1); }
显示全部
相似文档