hermite插值matlab代码,hermite插值以及两种MATLAB程序

资源描述:

给定矢量P0, P1, R0, R1,称满足下列条件的参数三次多项式曲线Pt,t∈0,1为Hermite曲线 Hx0y0,Hx1y1, H x0m0,H x1m1, 即Hermite曲线两个端点为P0, P1,在两端点的切矢量分别R0, R1。记几何矩阵和基矩阵分别为GH, MH, GH, MH是未知的.取GHP0, P1, R0, R1,则只要MH就可以了。一般的曲线经过多项式分解, 得到参数多项式曲线的矩阵表示 PtG∙M∙T 将(1)式代入(2)得到 GH∙MH∙TH|t0GH∙MH∙1,0,0,0TP0, GH∙MH∙TH|t1GH∙MH∙1,1,1,1TP1, GH∙MH∙TH|t0GH∙MH∙0,1,0,0TR0, GH∙MH∙TH|t0GH∙MH∙0,1,2,3TR1, 将上面四个式子合并如下形式 GH∙MH∙20103P0, P1, R0, R1GH 上面方程的解不唯一,不妨取 MH20103-11000-320-3-21-2100-11 从而得到三次Hermite曲线的方程 PtGH∙MH∙T 其中MH∙T确定了一组Hermite基函数G0t,G1t,H0t,H1t,即 MH∙T1000-320-3-21-2100-111tt2t31-3t22t33t2-2t3t-2t2t3-t2t3 附MATLAB程序 function yyhermitex,y,dy,xx 输入 X左右两个端点的X轴坐标 Y左右两个端点的Y轴坐标 dy左右两个端点的切矢 xx中间插值的点X轴坐标 输出 yy中间插值的点Y轴坐标 function yyhermitex,y,dy,xx klengthxx; zzeros1,k; for i1k; s0; xaixxxi; a1-3.*xaix22.*xaix3; b2.*xaix2-2.*xaix3; cxaix-2.*xaix2xaix3; d-2.*xaix2xaix3; sy1*ay2*bdy1*cdy2*d; zis; end yyz; function yyhermitex,y,dy,xx 输入 X左右两个端点的X轴坐标 Y左右两个端点的Y轴坐标 dy左右两个端点的切矢 xx中间插值的点X轴坐标 输出 yy中间插值的点Y轴坐标 mlengthx; nlengthy; llengthdy; klengthxx; if mn,error 向量长度不一样 ; end; if nl,error 向量长度不一样 ; end; zzeros1,k; for i1k; s0; axxi-x1; bx1-x2; cxxi-x2; a11-2*a/b*c/b2; aaxxi-x2; a212*aa/b*a/b2; b1a*c/b2; b2c*a/b2; sy1*a1y2*a2dy1*b1dy2*b2; zis; end yyz;

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值