Matlab插值函数莫名报错

>> x = 1:5;
y = 1:3;
temps = [82 81 80 82 84;79 63 61 65 81;84 84 82 85 86];
>> xi = 1:0.2:5;
yi = 1:0.2:3;
>> zi = interp2(x,y,temps,xi,yi);
错误使用 griddedInterpolant/subsref
输入数据的大小不一致。

出错 interp2 (line 158)
Vq = F(Xq,Yq);
.
已解决,加入一条yi = yi'; //原因是matlab是矩阵操作,xy之间要能够满足矩阵相乘条件

第1个回答  2016-08-23

你的x,y,xi,yi大小不一致,

应该为

[x,y]=meshgrid(x,y)
[xi,yi]=meshgrid(xi,yi)

然后再调用函数

追问

x范围1-5,y范围1-3,并且都是整数,根据xy可以查表得到temps,用meshgrid没有意义的

追答

您可以先按我说的试一试,如果你觉得出错,请贴错误信息。

相似回答