hermite插值以及两种MATLAB程序.docx_第1页
hermite插值以及两种MATLAB程序.docx_第2页
hermite插值以及两种MATLAB程序.docx_第3页
hermite插值以及两种MATLAB程序.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

给定矢量P0, P1, R0, R1,称满足下列条件的参数三次多项式曲线Pt,t0,1为Hermite曲线:Hx0=y0,Hx1=y1,Hx0=m0,Hx1=m1,即Hermite曲线两个端点为P0, P1,在两端点的切矢量分别R0, R1。记几何矩阵和基矩阵分别为GH, MH, GH, MH是未知的.取GH=P0, P1, R0, R1,则只要MH就可以了。一般的曲线经过多项式分解, 得到参数多项式曲线的矩阵表示:Pt=GMT将(1)式代入(2)得到:GHMHTH|t=0=GHMH1,0,0,0T=P0,GHMHTH|t=1=GHMH1,1,1,1T=P1,GHMHTH|t=0=GHMH0,1,0,0T=R0,GHMHTH|t=0=GHMH0,1,2,3T=R1,将上面四个式子合并如下形式:GHMH1001001111020103=P0, P1, R0, R1=GH上面方程的解不唯一,不妨取MH=1001001111020103-1=1000-320-3-21-2100-11从而得到三次Hermite曲线的方程:Pt=GHMHT其中MHT确定了一组Hermite基函数G0t,G1t,H0t,H1t,即MHT=1000-320-3-21-2100-111tt2t3=1-3t2+2t33t2-2t3t-2t2+t3-t2+t3附:MATLAB程序function yy=hermite(x,y,dy,xx) % 输入X左右两个端点的X轴坐标Y左右两个端点的Y轴坐标dy左右两个端点的切矢xx中间插值的点X轴坐标%输出yy中间插值的点Y轴坐标function yy=hermite(x,y,dy,xx) k=length(xx);z=zeros(1,k);for i=1:k; s=0; xaix=xx(i); a=1-3.*(xaix)2+2.*(xaix)3; b=2.*(xaix)2-2.*(xaix)3; c=xaix-2.*(xaix)2+(xaix)3; d=-2.*(xaix)2+(xaix)3; s=y(1)*a+y(2)*b+dy(1)*c+dy(2)*d; z(i)=s;endyy=z;function yy=hermite(x,y,dy,xx) % 输入X左右两个端点的X轴坐标Y左右两个端点的Y轴坐标dy左右两个端点的切矢xx中间插值的点X轴坐标%输出yy中间插值的点Y轴坐标m=length(x);n=length(y);l=length(dy);k=length(xx); if m=n,error(向量长度不一样);end; if n=l,error(向量长度不一样);end; z=zeros(1,k); for i=1:k; s=0; a=xx(i)-x(1); b=x(1)-x(2); c=xx(i)-x(2); a1=(1-2*a/b)*(c/b)2; aa=xx(i)-x(2); a2=(1+2*aa/b)*(a/b)2; b1=a*(c/b)2;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论