matlab一维插值extrap,matlab二维插值

  • Post author:
  • Post category:其他


介绍griddata及interp2算法

matlab二维插值–interp2与griddata from:

matlab功能强大,以至于不知道他不能做什么,只是怨自己没有找到相应的函数。 二者均是常用的二维差值方法,两者的区别是,interp2的插值数据必须是矩形域,即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成。而griddata函数的已知数据点(X,Y)不要求规则排列,特别是对试验中随机没有规律采取的数据进行插值具有很好的效果。griddata(X,Y,XI,YI,’v4′) v4是一种插值算法,没有具体的名字,原文称为“MATLAB 4 griddata method”,是一种很圆滑的差值算法,效果很好。X和Y提供的已知数据点,XI和YI是需要插值的数据点,一般使用meshgrid生成,当然也可以其他数据,但是那样绘图的时候就比较麻烦,不能使用mesh等,只能使用trimesh。 示例如下:

a=[

3 3 1.5300

3 27 0.4210

5 17 0.5980

9 9 0.5900

13 25 0.4470

15 15 1

17 5 0.3830

21 21 0.3100

25 13 0.2830

27 3 0.2820

27 27 0.1200

];

x=a(:,1);

y=a(:,2);

z=a(:,3);

xtemp=linspace(min(x),max(x),100);

ytemp=linspace(min(y),max(y),100);

[X,Y]=meshgrid(xtemp,ytemp);

Z=griddata(x,y,z,X,Y,’v4′);

surf(X,Y,Z)

shading interp