MATLAB: Data picking from grid

grid

I have data in three column (x,y,z)
I want to pick the values of z in each grid …
For exmaple, in fiure, the values of x are plotted coressponding to x,y. Then with a diffrenec of 1 we grided the plot.
I want to calculate the data points placed in each grid.

Best Answer

I have edited the code for your given points so that you can get the points for each grid.
x = -130.7:0.1:-129.7 ;
y = 45.6:0.1:46.3 ;
n = length(x) ;
m = length(y) ;
[X,Y] = meshgrid(x,y) ;
data = importdata("data.txt") ;
x = data(:,1) ; y = data(:,2) ; z = data(:,3) ;
% plot grid
plot(X,Y,'r',X',Y','r')
hold on
for i = 1:m-1
for j = 1:n-1
% Get the points of each grid
P = [X(i,j) Y(i,j) ;
X(i,j+1) Y(i,j+1) ;
X(i+1,j+1) Y(i+1,j+1) ;
X(i+1,j) Y(i+1,j)] ;
idx = inpolygon(x,y,P(:,1),P(:,2)) ;
iwant = [x(idx) y(idx) z(idx)] ;
plot(x(idx),y(idx),'.')
drawnow
end
end