1、0课程设计说明书题 目 : Hermite 插值的上机实现及应用学 生 姓 名 :学 院 : 理 学 院班 级 :指 导 教 师 : 任文秀 曹艳2015 年 1 月 16 日学校代码: 10128学 号: 201220901目录摘要 .1第一章 Hermite 插值的上机实现 .21.1 插值概述 .21.1.1 插值问题的提出 .21.1.2 插值的种类 .21.2 Hermite 插值的问题 .51.2.1 Hermite 插值的几种形式 .51.2.2 Hermite 插值的几个重要定理 .111.2.3 Hermite 插值的优点 .121.3 Hermite 插值的源程序 .121
2、.3.1 三次 Hermite 插值的 C 程序 .121.3.2 二重 Hermite 插值的 matlab 程序 .13第二章 Hermite 插值的应用 .142.1 Hermite 插值函数的工程应用 .142.2 应用 Hermite 插值作心电图基线漂移校正 .16参考文献 .24附录 A 三次 Hermite 插值的 C 程序 .25附录 B 二重 Hermite 插值的 MATLAB 程序 .280摘要随着计算机技术的普及和应用的日益广泛,细分方法在近年来已经成为了计算机辅助设计(CAD)和计算机图形学(CG)领域内的一个国际性研究热点。通过近三十年的发展,细分方法日趋完善,多
3、数经典的细分方法已经建立起了较为系统的理论知识体系。1992 年 Merrien 首次提出了 Hermite 型的插值细分格式,随后 Hermite 插值型细分方法得到了迅速的发展,从一维区间上生成 C1、C2 细分曲线的格式到维矩形网格上生成光滑曲面的格式得以在短时间内展现,但是对于二维矩形上生成的光滑曲面在直观上与采样函数有不小的差距.在构造插值时,对所构造的插值,不仅要求差值多项式节点的函数值与被插函数的函数值相同,还要求在节点处的插值函数与被插函数的一阶导数的值也相等对所构造的插值,不仅要求差值多项式节点的函数值与被插函数的函数值相同,还要求在节点处的插值函数与被插函数的一阶导数的值也
4、相等.关键词 Hermite 插值;拉格朗日插值;Newton 插值;余项;Hermite 插值应用1第一章 Hermite 插值的上机实现1.1 插值概述1.1.1 插值问题的提出在许多实际问题及科学研究中,因素之间往往存在着函数关系,但这些关系的表达式不一定都知道,通常只是由观察或测试得到一些离散数值,所以只能从这些数据构造函数的近似表达式.有时,虽然给出了解析表达式,不过由于解析表达式过于复杂,使用或计算起来十分麻烦.这就需要建立某种近似表达,因此引入插值.1.1.2 插值的种类类型 1 拉格朗日插值.定义 1.1 若函数 y=f(x)在若干点 的函数值 = (i=0,1, ,n),则另
5、ixiyixf一个函数 (x):p( )= ,i=0,1, ,n,则称 p(x)为 f(x)的插值函数,而 f(x)为npixiy被插值函数.对于 ,且 ,用 (x)的值作为 f(x)的近似值或估计值,,baixnP常称内插法.对于 ,用 (x)的值去估计 f(x)的值,又称外插法.xn注解 1.1 拉格朗日插值分为线性插值 和 n 次插值 .)(1xL)(xLn注解 1.2 拉格朗日插值的余项为 )()!1()1xWnfxRnn类型 2 Newton 插值定义 1.2 任何一个不高于 次多项式,都可以表示成函数的线性组合.既可以把满足插值)()(,)(,1 11010 nxxxx 条件 的
6、次插值多项式写成如下形式:)(niyPi )()()()( 110102010 nnxxaxaxa 其中, 为待定系数,这种形式的插值多项式称为牛顿插值多项式,记为 .k N2注解 1.3 设 互不相同,则 关于 的 阶差商为:nx,.10 xfnx,.10.02110,.,. fff nn则一阶差商为. 0110,xffxf且二阶差商为 . 0211210 ,xffxf 总结以上可得如下表 1-1. 表 1-1 差商表ix)(ixf一阶差商 二阶差商 三阶差商 n 阶差商0x123xnof1x2f3nxf,10xf2,3fnxf,1,210xf3nnxf,12 ,3210xfnf,.3nxf
7、,.10类型 3 分段插值定义 1.3 对给定区间 做划分ba, bxxn.10在每个小区间 上作 以 为节点的线性插值,记这个插值,1ixf,i,xpi3, ( )111iiiiiii xfxfxp 1iix把每一个区间的线性插值函数连接起来,得到 的以 为剖f ban.10分节点的分段性函数 .xp注解 1.4 分段插值的基本思想将被插值函数 的插值节点由小到大排序,然后在每对相邻的两个节点为端xf点的区间上用 次多项式去近似 .nxf类型 4 Hermite 插值定义 1.4 Hermite 插值是利用未知函数 在插值节点上的函数值及导数值来xf构造插值多项式;分为带导数的插值与不带导数
8、的插值二类.类型 5 三次样条插值样条插值是一种改进的分段插值.定义 1.5 函数,baxS,且在每个小区间 上是三次多项式,其中1,ixxxan.10是给定节点,则称 是节点 上的三次 样条函数.xSn,.若在节点 上给定函数值i,nixfyi ,.10,并且,iyxSi ,.,则称 为三次样条插值函数.xS注解 1.5 本文着重介绍 Hermite 插值41.2 Hermite 插值的问题1.2.1 Hermite 插值的几种形式类型一 Hermite 插值的一般形式求一个次数不大于 n+r+1 的代数多项式 ,满足()Hx, i=0,1,2,.,n . (1.1))(iixf0,12,(
9、)ii rn 称以上的插值问题为 Hermite 插值问题注解 1.6 Hermite 插值多项式的推导(即建立 Hermite 插值多项式的方法)令(1.2)00()()()nrkkkkHxhfxhfx其中 和 都是 次待定多项式,并且它们()0,1khx ,1 1n满足以下条件:(1.3) (),01,0,;kiiikhxinr (1.4) 1(),0,;01kiiikxihrn 显然满足条件式(1.3),(1.4)的多项式(1.2)的次数不大于 次,且满足1r插值条件式(1.1).形式一 求解 (不带导数的 Hermite 插值) )(xhk由条件式(1.3)知(0,1;)ixrik是
10、的二重零点.()khx且由条件式(1.3)知 (1,2,;)ixrnik是 的零点. ()khx5当 时 具有如下形式:0kr()khx22220111() ()()k kkrrnABxxxx( ) ( ) ( ) (1.5) 01)()rniiirkx其中, 是待定系数.,AB由条件式(1.3)知 ()1,()0kkhx即 201()()()rnkkikii rABx2 2001 012101()()()()()()()()()rn rnrkikikkjkikiji r i rnnkkikijri rjAxxxxxB 由上述两式解得.012()()rnjjrkkjriii rkxxA.201
11、()()krnkiii rAxB将 A,B 代入式(1.5),得 (1.6)()1()()()0,1kknkrknkrhxxllxlx其中,.0()nikikxl6.0()rikrikxl.01()nknikilx.0()rkrikil当 时, 具有如下形式1rkn()khx. (1.7)201()()rnkiiirkCxx由条件式(1.3)知 ()1khx. 201()()rnkikii rxx将 C 代入式(1.7),得(1.8)(),2,rkknwxhlrn其中, . 0()rriixx. 0()()rrkkiiw.0nikikxl综合式(1.1)、(1.2)可以得到 ,即式(1.6)、
12、(1.8)(),1)khxn形式二 求解 (即带导数的 Hermite 插值) )xhk由条件式(1.4)知 是 的二重零点,且由条件式(1.4)知 0,1;)iri (k是 的零点.(,2,i n )khx当 时, 具有如下形式:0kr)khx7(1.9) 00()()()nrkiiikhxDx由条件式(1.4)知 10 00 01()()()()nrnrrkikikikij ji ij ijxxxx 将 D 代入式(1.9),得 . (1.10)()(),1kknkrhxlxr其中, .0()ikniklx.0()rikrikl由式(1.2),(1.6),(1.8),(1.10)所表示的多项式称为 Hermite 插值多项式,其中由式(1.6),(1.8),(1.10)所表示的多项式称为 Hermite 插值基函数.Hermite 插值多项式的余项为(x)= (x).12nR)!2(1( nf1nW)( 类型二 二重 Hermite 插值多项式一般的 Hermite 插值为 m=2 的情况,即给定的插值节点 0 nix均为二重节点,更具体些,2(),fxCab及插值节点 ,若有0nix2121()nnHxP满足.21()niixf