当前位置:   article > 正文

一维插值法在MATLAB中的实现_一维差值matlab

一维差值matlab

       从已知的一些离散数据点及其函数值,即函数的列表法表示,推求出未知点上函数值的所谓插值方法,在科技工作中应用十分广泛,如查对数表、三解函数表中都会遇到这类插值问题。MATLAB中设有许多插值命令,以下介绍最常用的一元函数插值命令。

    一元函数的插值命令

    该命令的调用格式为:

   

  (1)  输入参数x和y为已知的两个同维向量,满足函数  关系,它们是“造表”的根据。

  (2)输出量 是与 对应的函数值。插值点 可以是数值、向量、矩阵,维数相同。

    其中y可以是矩阵,x,可以缺省,如果x缺省的话,那么默认x为自然数1到n,n为y矩阵的维数

   如果y为矩阵,那么y的各列将以x为公共的横坐标,计算多个(等于y的列数,size(y,2))插值函数。

输出值将是维数× size(y,2)矩阵。超出范围值,将返回NaN。对于nearest与linear方法,如果插值点在区间范围之外,则系统返回NaN(不是一个数),对于其他方法,系统将对超出范围的值进行外推运算

yi=interp1(x,y,xi,method,'extrap')    利用指定的方法对超出范围的值进行外推计算

yi=interp1(x,y,xi,method,extrapval)   返回标量extrapval为超处范围值

pp=interp1(x,y,method,'pp')    利用指定的方法产生分段多项式

  (3)用单引号括起来的method有五种方法可供选择:

     ① nearest:线性最近项插值,用直角折线连接各样本点

     ② linear:线性插值(默认),用直线依次连接各样本点,形成折线。省略‘method’时,即默认此项。

     ③ spline:三次样条插值,用分段三次多项式曲线光滑地连接相邻样本点,整体上具有函数、一阶和二阶导数连续性。

     ④ pchip:分段三次埃尔米特(Hermite)插值,用分段三次多项式Hermite插值曲线,依次连接相邻样本点。

     ⑤ cubic:双三次插值
     

这几种方法在速度、平滑性、内存使用方面有所区别,在使用时可以根据实际需要进行选择。包括:

    1)最临近插值是最快的方法,但是使用它得到的结果平滑性最差。

    2)线性插值要比最邻近插值占用更多的内存,运行时间略长。与最近邻插值不同,它生成的结果是连续的,但在顶点处会有坡度变化。

    3)三次插值需要更多的内存,而且运行时间比最邻近法和线性插值要长。但是,在使用此法时,插值数据及其导数都是连续的。

    4)三次样条插值的运行时间相对来说最长,内存消耗比三次插值略少。它生成的结果平滑性最好。

    

     例1.利用interp1函数对y=sin(x)进行线性及样条插值。

       

  1. clear all;
  2. x=0:pi/4:2*pi;
  3. y=sin(x);
  4. xi=0:pi/16:2*pi;
  5. figure
  6. yi=interp1(x,y,xi); %默认线性插值
  7. plot(x,y,'o',xi,yi,':.');
  8. xlim([0 2 *pi]);
  9. title('默认线性插值');
  10. %实现样条插值
  11. figure
  12. yi2=interp1(x,y,xi,'spline'); %样条插值
  13. plot(x,y,'o',xi,yi2,':.');
  14. xlim([0 2 *pi]);
  15. title('样条插值');

 

线性插值效果:

 

 

样条插值效果:

例2.对下表的7个离散数据点分别进行最邻近插值、三次样条插值、分段三次插值,并画出相应的折线图。

x1234567
y3.52.11.30.82.94.25.7
  1. x = [1 2 3 4 5 6 7];
  2. y = [3.5 2.1 1.3 0.8 2.9 4.2 5.7];
  3. xi=1:0.5:7;
  4. y1=interp1(x,y,xi,'nearest');
  5. y2=interp1(x,y,xi,'spline');
  6. y3=interp1(x,y,xi,'cubic');
  7. plot(x,y,'ro',xi,y1,xi,y2,xi,y3);
  8. legend('插值节点','最近邻插值','三次样条插值','分段三次插值')

 

运行程序效果图:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/193266
推荐阅读
相关标签
  

闽ICP备14008679号