help extracting coordinates from inpolygon command
2 views (last 30 days)
Show older comments
i need some help about a function which does not use counter loop
i used the inpolygon command to determine which of the plotted points is within a box and which isnt
how do i extract the coordinates of the points within the command and output it in an array of x-coordinates and y-coordinates?
the code i am currently using is
delta = 1;
x = 1:delta:20;
y = 1:delta:20;
[x, y] = meshgrid(x,y);
boxx_cod = [5.5;7.5;7.5;5.5;5.5];
boxy_cod = [5.5;5.5;7.5;7.5;5.5];
[in,on] = inpolygon(x,y,boxx_cod,boxy_cod); %inpoly determines which points in box and which not
box = plot(boxx_cod,boxy_cod);
hold on
plot(x(in),y(in),'r+') % points inside
plot(x(~in),y(~in),'d') % points outside
hold off
with the output of
i know from seeing this that it is the 4 + inside and i know the coordinates
but how do i tell the function to output the coordinates?
0 Comments
Accepted Answer
Ameer Hamza
on 12 Nov 2020
You already have the x and y coordinates used in plot() statement
x_coor = x(in);
y_coor = y(in);
You can output them in several ways. I suggest using fprintf
fprintf('x\ty\n')
fprintf('%d\t%d:\n', [x(in).'; y(in).'])
0 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!