MATLAB Answers

Data picking from grid

3 views (last 30 days)
aa
aa on 11 Sep 2020
Commented: aa on 12 Sep 2020
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.

  0 Comments

Sign in to comment.

Accepted Answer

KSSV
KSSV on 11 Sep 2020
Edited: KSSV on 12 Sep 2020
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

  11 Comments

Show 8 older comments
aa
aa on 12 Sep 2020
Yes, the code is working perfectly, but one last thing is the calculation of "iwant" for each grid point. In case of manual calculation, I change the points of p for each grid.
KSSV
KSSV on 12 Sep 2020
Edited the answer.
aa
aa on 12 Sep 2020
Thank you this is really amazing and work perfectly, But if i want to get an output file of data points in each grid , how can this be possible.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!