曲率变化率最小约束下的五次Hermite插值曲线
- 格式:pdf
- 大小:170.30 KB
- 文档页数:5
课程设计说明书题目:Hermite 插值法的程序设计及应用学生姓名:学院:班级:指导教师:2012年 1月 5日摘要Hermite 插值是数值分析中的一个重要内容,在相同的节点下得到比拉格朗日插值更高次的插值多项式,而且,相应的曲线在部分节点处也更光滑.在我们所学课程中,只给出了当所有节点处一阶导数均已知时的Hermite 插值.但在实际应用中,并不是所有节点处的一阶导数都是已知的.为此,通过查阅文献、学习总结,给出了更具一般性的Hermite 插值公式.已有的Hermite 插值公式成为本文所得结果的一个特例.本次课程设计,对Hermite 插值法进行了总结,包括Hermit插值法的理论推导,不同情形下的例,以及在解决实际问题中的应用.同时也给出了Hermite插值公式的Matlab算法.关键词Hermite 插值;Matlab 实现;数值分析引言 (1)第一章 Hermite插值 (2)§1.1 Hermite插值的概念 (2)§1.2 Hermite插值简单情形 (3)§1.2.1简单情形解的存在性 (3)§1.2.2 简单情形解的存在唯一性 (5)§1.2.3插值余项 (5)§1.3 Hermite插值其他情形................................ . (5)第二章 Hermite插值的Matlab实现 (9)§2.1 导数完全情形Hermite插值的Matlab实现................... ..9 §2.2导数不完全情形Hermite插值的Matlab实现.. (10)§2.3 Hermite插值在实际问题中的应用 (13)参考文献 (15)附录A (16)附录B (17)附录C (19)在实际工作中, 人们得到的一些数据通常是一些不连续的点, 在土木工程、流体力学、经济学和空气动力学等学科中经常要遇到这样的问题. 此时, 这些数据如果不加以处理, 就难以发现其内在的规律性. 如果用户想得到这些分散点外的其他数值, 就必须运用这些已知的点进行插值.因此,对近似公式的构造产生了插值问题.在实际问题中,两个变量的关系)(x f y =经常要靠实验和观测来获得,而在通常的情况下只能得到)(x f 在有限个点上的值.,,1,0),(n i x f y i ==人们希望找到)(x f 的一个近似函数)(x y φ=,使得i i y x =)(φ,.,,1,0n i = ○1 此时,)(x f 称为被插值函数,点n i x x x ,,,0 称为插值结点,)(x φ称为插值函数,○1为插值条件. 常用的插值法有Lagrange 插值、Newton 插值、最近邻插值、Hermite 插值和三次样条插值插值法等. Lagrange 插值在向量X 区域内的插值较准确, 但向量X 区域之外则不太准确.Newton 插值仅适用于等距节点下的牛顿向前(后) 插值. 最近邻插值是最简便的插值, 在这种算法中, 每一个插值输出像素的值就是在输入图像中与其最临近的采样点的值, 当图像中包含像素之间灰度级变化的细微结构时, 最近邻插值法会在图像中产生人工的痕迹. 最近邻插值的特点是简单、快速, 缺点是误差较大; 三次样条插值一阶和二阶连续可导, 插值曲线光滑, 插值效果比较好, 应用较广Newton 插值和Lagrange 插值虽然构造比较简单,但都存在插值曲线在节点处有尖点、不光滑、插值多项式在节点处不可导等缺点.为了保证插值多项式)(x p n 能更好地逼近)(x f , 对)(x p n 增加一些约束条件, 例如要求)(x p n 在某些结点处与)(x f 的微商相等, 这样就产生了切触插值问题.切触插值即为Hermite 插值.它与被插函数一般有更高的密合度.本课程设计主要对Hermite 插值法进行总结,对其一般情况,特殊情况进行更进一步的学习,尽量实现其在Matlab 及C++上的程序运行.第一章 Hermite 插值实际问题中应用较广为Newton 插值和Lagrange 插值,虽然这辆种插值法构造比较简单, 但都存在插值曲线在节点处有尖点、不光滑、插值多项式在节点处不可导等缺点.为了克这些缺点,我们引入了Hermite 插值.§1.1 Hermite 插值的概念定义1.1 许多实际插值问题中,为使插值函数能更好地和原来的函数重合,不但要求二者在节点上函数值相等,而且还要求相切,对应的导数值也相等,甚至要求高阶导数也相等.这类插值称作切触插值,或埃尔米特(Hermite)插值.该定义给出了Hermite 插值的概念,由此得出Hermite 插值的几何意义,如图1.1.定义1.2 满足上述要求的插值多项式是埃尔米特插值多项式.记为H (x ). 定义1.3 求一个次数不大于1++r n 的代数多项式 H(x) ,满足:).(,,2,1),()(.,,2,1),()(n r r i x f x H n i x f x H i i i i ≤='='== (1-1) 则(1-1)为Hermite 插值条件.定义1.4 令 ),(22y x ),(33y x ),(44y x),(11y x),(00y x xy图1.1 Hermite 插值多项式的几何意义含义.)()()()()(00∑∑=='+=rk k k n k k k x f x x f x x H βα (1-2)其中,),,1,0)(x (),,1,0)((k n k n k x k ==βα和都是1++r n 次待定多项式并且它们满足如下条件:⎩⎨⎧=01)(i k x α k i k i ≠= .,,1,0,n k i = .,,1,0,,,1,0,0)('r i n k x i k ===α⎩⎨⎧='01)(i k x β k i k i ≠= .,,1,0,r k i = .,,1,0,,,1,0,0)(n i r k x i k ===β称(1-2)为Hermite 插值公式.解决Hermite 插值问题,就是在给定结点处函数值与导数值的基础上根据插值公式构造Hermite 插值多项式,并根据已知条件解出多项式系数.§1.2 Hermite 插值简单情形已知函数表: x0x 1x 2x … m x … n x )(x f0y 1y 2y … m y … n y )(x f ' 0'y 1'y 2'y … m y ' … n y '求一个插值多项式,使其满足条件数表.由于数表中包含22+n 个条件,所以能够确定次数不大于12+n 的代数多项式 )(12x H n +.此情形为导数个数与函数值个数相等的情形,即 Hermite 插值问题的最简单也是最常用情形.1.2.1简单情形解的存在性由于Hermite 插值公式(1-2)已给出,接下来只需构造出)(x k α及)(x k β,即认为其存在.在此简介Lagrange-Hermite 插值法构造插值多项式.Step1 构造)(x k α(n k ,,1,0 =)由条件)(0)(')(k i x x i k i k ≠==αα知),,,1,0(k i r i x i ≠= 是)(x k α的二重零点.已知Lagrange 插值基函数)(x l k 是n 次多项式,且具有性质⎩⎨⎧=≠==i k i k x l ki i k ,1,0)(δ, 则2n 次多项式[]2)(x k k 也具有性质[]ki i k x l δ=2)(,而[]2)(x l k 的一阶导数在)(k i x i ≠处的值[]()0)()(2)(2='='i k i k i k x l x l x l 所以当k i ≠时,i x 也都是[]2)(x k k的两重零点.注意到)(x h k 是12+n 次多项式,而[]2)(x l k 是n 2次多项式,因此可设),,2,1,0)(()()(2n k x l b ax x k k =+=α其中b a ,为待定常数.显然k i ≠时满足0)(')(==i k i k x x αα,现只要求出b a ,满足k i =时,满足0)(',1)(==k k k k x x αα即可.由此得到确定b a ,的两个方程:)(2)())(()(2)(1)()()()(22=+'=++'='=+=+=a x l x al b ax x l x l x b ax x l b ax x k k k k k k k k k k k k k k k k k αα解出 k k kk k x x l b x l a ⋅'+='-=)(21)(2 于是[])())((21)(2x l x x x l x k k k kk -'-=α. Step2 构造)(x k β ),,1,0(n k =由条件)(0)(')(k i x x i k i k ≠==ββ知),,,1,0(k i r i x i ≠= 是)(x k β的二重零点.因此可设)(x k β也含因子)(2x l k ,又0)(=k k x β,所以)(x k β还含有因式)(k x x -,因此设)()()(2x l x x A x k k k -=β,其中A 为待定常数.显然)(x k β是12+n 次多项式,且当k i ≠时满足0)(')(==i k i k x x αα,由,1)(='k kx β可确定A 如下: 1)()(2)()()(2=='⋅⋅-+='A x l x l x x A x Al x k kk k k k k k k β所以 )()()(2x l x x x k k k -=β.到此为止,Hermite 插值问题的解)(12x H n +为[],)()()())((21)(2020k k nk k k kn k k k k f x l x x f x l x x x l x H '-+-'-=∑∑== 特别地,当=n 1时,满足113003113003)(,)(,)(,)(y x H y x H y x H y x H '=''='==的三阶Hermite 插值多项式为+⎪⎪⎭⎫ ⎝⎛--⎥⎦⎤⎢⎣⎡'-+⎪⎪⎭⎫ ⎝⎛--+=21010000103)(21)(x x x x y x x y x x x x x H 2010111101)(21⎪⎪⎭⎫ ⎝⎛--⎥⎦⎤⎢⎣⎡'-+⎪⎪⎭⎫ ⎝⎛--+x x x x y x x y x x x x .§1.2.2 简单情形解的存在唯一性为了简便理解,下面用流程图来说明解的存在唯一性.详见附录A.§1.2.3 插值余项定理 1.1 设)(x f 在包含1+n 个插值结点的最小区间[b a ,]上22+n 次连续可微,则存在与x 有关的ξ,b a <<ξ,使得),()!22()()()(222x w n f x H x f n +=-+ξ 其中∏=-=n0j )()(j x x x w .由此可得到三阶Hermite 插值多项式的误差为:,)()(!4)()()()(212043x x x x f x H x f x R --=-=ξ ξ在0x 与1x 之间.§1.3 Hermite 插值其他情形已知函数表:x 0x1x … m x … n x y0y 1y … m y … n yy ' 0y ' 1y ' … m y '求一个插值多项式,使其满足条件数表.该问题中,导数个数与函数值个数不相等.我们称之为Hermite 插值中其他情形.在此简介Newton-Hermite 插值法构造插值多项式.先分析插值条件的个数:2++m n 个,那么,所构造的多项式的次数一般不能超1++m n .于是,按牛顿差值的思想,可设);())(()(),()()()(1011n n n m n x x x x x x x x x P x N x H ---=+=++ ωω其中,)(x N n 为n 次牛顿差值多项式;)(x P m 为待定的次数不超过m 次的多项式. 显然:n i x f x N x H i i n i ,,2,1,0),()()( ===为确定)(x P m ,对)(x H 求导:)()()()()()(11x x P x x P x N x H n m n m n++'+'+'='ωω 根据插值条件)()(i i x f x H '=',有)()()()()()()()()(111i n i m i ni n i m i n i m i n i x x P x N x x P x x P x N x H +++'+'='+'+'='ωωω 得到m i x x N x f x P i ni n i i m ,,2,1,0,)()()()(1 =''-'=+ω 于是,把求)(x P m 的问题转化为又一个插值问题已知)(x P m 的函数表 x1x 2x … m x )(x P m )(1x P m )(2x P m … )(m m x P确定一个次数不超过m 的插值多项式)(x L m ,使其满足)()(i m i m x P x L =. 根据牛顿差值公式.)())(](,,[)](,[)()(10000100----++-+=m m m m m m x x x x x x x x P x x x x P x P x P将上式带回,即得到满足条件;,,2,1,0),()(;,,2,1,0),()(m k x f x H n k x f x H k k k k ='='==的Newton-Hermite 插值多项式.例1.1 已知函数表: x 0x1x y 0y1y y ' 0'y求一个插值多项式H (x ),使其满足条件:),()(),()(),()(001100x f x H x f x H x f x H '='==该问题中,导数个数与函数值个数不相等.我们称之为Hermite 插值中其他情形.在此简介Newton-Hermite 插值法构造插值多项式.先由函数表xx 0 x 1 yy 0 y 1作线性插值,即为 []()01001,)()(x x x x f x f x P -+= 再注意到H (x )与P 1 (x )在节点x 0, x 1上函数值相同,即:11110010)()()()(y x P x H y x P x H ====于是,它们的差可以设为 ))(()()(101x x x x K x P x H --=-其中K 为待定常数,上式又可记为:))(()()(101x x x x K x P x H --+= (1-3)为确定K ,对上式求导:)()()(101x x x x K x P x H -+-+'='令x = x 0,代入上式,并且注意到插值条件00)(y x H '='得: []010*******)(,)()()(y x x K x x f x x K x P x H '=-+=-+'='于是有[]01010x x y x x f K -'--=将上式代入(1-3)得[]))(()()(10010101x x x x x x y x x f x P x H ---'--+=[][]))(()(,)(10010100100x x x x x x y x x f x x x x f x f ---'--+-+= (1-4)可以验证(1-4)所确定的H (x )确实满足插值条件(1-1).同时也可以看到,构造牛顿——埃米尔特插值多项式,完全采用牛顿插值的构造思想.最后,也可以把(1-4)式整理成拉格朗日形式:1001112010001101010)()(y x x xx x x y xx x x y xx x x x x x x x x x H '-⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛----+-=插值余项为()()120)3(2!3)()(x x x x f X R --=ξ, ξ在0x 与1x 之间.第二章 Hermite 插值的Matlab 实现§2.1 导数完全情形Hermite 插值的Matlab 实现在实际应用中,应用最广也是最简单的Hermite 插值情形即为导数完全的情况下,Hermite 插值多项式的拟合.我们首先讨论该情形下的Matlab 程序.在给出程序之前,我们首先给出该公式所应用的Hermite 插值公式. 定理2.1 设在节点b x x x a n ≤<<≤≤ 21上,,)(,)(j j j j y x f y x f '='=,其中n j ≤≤1,则函数)(x f 在结点处n x x x ,,,21 处的Hermite 插值多项式为∑=+--=ni i i i i i i y y y a x x h x y 1])2)([()(其中 ∑∏≠=≠=-=--=nij j ji i nij j ji j i x x a x x x x h 1211;)(.该定理的证明详见文献.该情形下对应的Matlab 程序及流程图详见附录B . 为验证该程序的正确性与有效性,下面给出例2.1. 例2.1 设有如下数据表:x0 0.5 1 1.5 2 2.5 3 3.5)sin(x y = 0 0.4794 0.8145 0.9975 0.9093 0.5985 0.1411 -0.3508 )cos(x y =' 1 0.8776 0.5403 0.0707 -0.4161 -0.8011 -0.9900 -0.9365在Matlab 工作台输入如下命令:>> x0=[0,0.5,1,1.5,2,2.5,3,3.5];y0=[0,0.4794,0.8415,0.9975,0.9093,0.5985,0.1411,- 0.3508]; y1=[1,0.8776,0.5403,0.0707,-0.4161,-0.8011,-0.9900,-0.9365]; x=x0;y=hermite(x0,y0,y1,x); yplot(x,y) y2=sin(x); hold onplot(x,y2,'*r') 则输出结点处的插值:y =0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508)sin(x y =的Hermite 插值多项式的拟合图像如图:§2.2导数不完全情形Hermite 插值的Matlab 实现在实际应用中,并不是所有节点处的一阶导数都是已知的,为此,我们给出了更具一般性的Hermite 插值公式及其算法实现,已有的Hermite 插值公式成为本文所得结果的一个特例.在此首先给出求解Hermite 插值问题的一般性公式。
具有最小曲率变化率的几何Hermite曲线作者:迟静, 张彩明, Chi Jing, Zhang Caiming作者单位:迟静,Chi Jing(山东经济学院计算机科学与技术学院,济南,250014), 张彩明,ZhangCaiming(山东经济学院计算机科学与技术学院,济南,250014;山东大学计算机科学与技术学院,济南,250061)刊名:计算机辅助设计与图形学学报英文刊名:JOURNAL OF COMPUTER-AIDED DESIGN & COMPUTER GRAPHICS年,卷(期):2008,20(7)被引用次数:0次1.Zhang C.Zhang P.Cheng F Fairing spline curves and surfaces by minimizing energy 2001(13)2.de Boor C.Hollig K.Sabin M High accuracy geometric Hermite interpolation 1987(04)3.Hollig K.Koch J Geometric Hermite interpolation 1995(06)4.Hollig K.Koch J Geometric Hermite interpolation with maximal order and smoothness 1996(08)5.Reif U On the local existence of the quadratic geometric Hermite interpolant 1999(03)6.Schaback R Optimal geometric Hermite interpolation of curves 19987.Meek D S.Walton D J A geometric Hermite interpolation with Tschirnhausen cubics 1997(02)8.Meek D S.Walton D J Hermite interpolation with Tschirnhausen cubic spirals 1997(07)9.Farouki R T.Sakkalis T Pythagorean hodographs 1990(05)10.Zhu J M.Duan Q.Tian M Cubic geometric Hermite interpolation spline with minimum strain energy 2005(03)11.Yong J.Cheng F Geometric Hermite curves with minimum strain energy 2004(03)1.会议论文迟静.张彩明基于最小曲线长度的几何Hermite曲线2007构造一条满足端点条件的光顺曲线是CAGD中的一个基本问题,提出了基于曲线长度最小的最优几何Hermite(OGH)曲线来解决这个问题,这类曲线可通过在Hermite插值过程中最优化端点的切矢模长来使曲线的长度最小。