Matlab中二维插值interp2函数的使用

问题:已知m*n个节点(xi,yi,zij),i=1,2,3..m,j=1,2,3...n,且x1

对上述问题,MATLAB中提供了二维插值函数interp2,其基本格式为cz=interp2(x,y,z,cx,cy,'method');其中x和y是自变量。x和y的分量值必须是单调递增的。x,y,z的值是已经知道的,cx,cy是但插值的点的坐标,cz是对应的插值。method为可选参数,可以用下面四个值中任选一个:

'nearest':最近邻点插值

'linear':线性插值

'spline':三次样条插值

'cubic':三次插值

'linear'是缺省值

例:已知平板表面3*5的网格处的温度值为

    82    79    84
    81    63    84
    80    61    82
    82    65    85
    84    81    86

做出平板表面温度分布曲面,在x,y方向上每隔0.2个单位进行插值,画出插值后的图形。

 

clc;clear;
x=1:3;
y=1:5;
temps=[82    79    84
    81    63    84
    80    61    82
    82    65    85
    84    81    86]
[x,y]=meshgrid(x,y);
figure(1);
mesh(x,y,temps);
xlabel('x');
ylabel('y');

figure(2);
xi=1:0.2:3;
yi=1:0.2:5;
[xi,yi]=meshgrid(xi,yi);
zi=interp2(x,y,temps,xi,yi,'cubic');
mesh(xi,yi,zi);
xlabel('x');
ylabel('y');

Matlab中二维插值interp2函数的使用_第1张图片
Matlab中二维插值interp2函数的使用_第2张图片

 

 

 

你可能感兴趣的:(Matlab)