• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab插值函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  1. x=0:2*pi;  
  2. y=sin(x);  
  3. xx=0:0.5:2*pi;  
  4.   
  5. %interp1对sin函数进行分段线性插值,调用interp1的时候,默认的是分段线性插值  
  6. y1=interp1(x,y,xx);  
  7. figure  
  8. plot(x,y,\'o\',xx,y1,\'r\')  
  9. title(\'分段线性插值\')  
  10.   
  11. %临近插值  
  12. y2=interp1(x,y,xx,\'nearest\');  
  13. figure  
  14. plot(x,y,\'o\',xx,y2,\'r\');  
  15. title(\'临近插值\')  
  16.   
  17. %球面线性插值  
  18. y3=interp1(x,y,xx,\'spline\');  
  19. figure  
  20. plot(x,y,\'o\',xx,y3,\'r\')  
  21. title(\'球面插值\')  
  22.   
  23. %三次多项式插值法  
  24. y4=interp1(x,y,xx,\'cubic\');  
  25. figure  
  26. plot(x,y,\'o\',xx,y4,\'r\');  
  27. title(\'三次多项式插值\')  

 

 

(1)    Nearest方法速度最快,占用内存最小,但一般来说误差最大,插值结果最不光滑。

(2)    Spline三次样条插值是所有插值方法中运行耗时最长的,插值函数及其一二阶导函数都连续,是最光滑的插值方法。占用内存比cubic方法小,但是已知数据分布不均匀的时候可能出现异常结果。

(3)    Cubic三次多项式插值法中,插值函数及其一阶导数都是连续的,所以插值结果比较光滑,速度比Spline快,但是占用内存最多。

语法形式

说明

y=interp1(x,Y,xi)

由已知点集(x,Y)插值计算xi上的函数值

y=interp1(x,Y,xi)

相当于x=1:length(Y)的interp(x,Y,xi)

y=interp1(x,Y,xi,method)

用指定插值方法计算插值点xi上的函数值

y=interp1(x,Y,xi,method,’extrap’)

对xi中超出已知点集的插值点用指定插值方法计算函数值

y=interp1(x,Y,xi,method,’extrap’,extrapval)

用指定方法插值xi上的函数值,超出已知点集处函数值取extrapval

y=interp1(x,Y,xi,method,’pp’)

用指定方法插值,但返回结果为分段多项式

 

 

 

Method

方法描述

‘nearest’

最邻近插值:插值点处函数值与插值点最邻近的已知点函数值

‘liner’

分段线性插值:插值点处函数值由连接其最邻近的两侧点的线性函数预测。Matlab中interp1的默认方法。

‘spline’

样条插值:默认为三次样条插值。可用spline函数替代

‘pchip’

三次Hermite多项式插值,可用pchip函数替代

‘cubic’

同’pchip’,三次Hermite多项式插值

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap