从MATLAB meshgrid输出中提取数据值

时间:2016-09-22 11:59:20

标签: matlab

我需要在MATLAB中从meshgrid中提取特定坐标的数据值,我的代码如下:

PaarX=Paar(:,1);
PaarX1=PaarX(1:20:length(PaarX));
PaarY=Paar(:,2);
PaarY1=PaarY(1:20:length(PaarY));
x=PaarX;
y=PaarY;
v=Paar(:,3);
[xi, yi]=meshgrid(PaarX1, PaarY1);
vq=griddata(x, y, v, xi, yi, 'cubic');

PaarXPaarYv是曲面的X,Y和Z值,Z值是要插值的值。 PaarX1PaarY1是meshgrid中使用的每20个值的值(在此之前数组太大)。我需要从特定的X和Y坐标中提取vq中的插值Z值。

1 个答案:

答案 0 :(得分:0)

我理解你的问题,你需要这个:

nx = 3; % <= length(PaarX1)
ny = 4; % <= length(PaarY1)
fprintf('the interpolated value at x=%g and y=%g is %g',PaarX1(nx),PaarY1(ny),vq(ny,nx))

或者您可以转置矩阵vq

vq = vq.';
fprintf('the interpolated value at x=%g and y=%g is %g',PaarX1(nx),PaarY1(ny),vq(nx,ny))

vq(ny,nx)y是第一个)是因为您使用meshgrid函数。您可以使用vq(nx,ny)形式的矩阵元素(x是第一个)来访问ndgrid函数(但我不确定它是否与{{1}一起使用})。