How to find the number of point inside the graph?
Show older comments
Hello,
- I have made a graph and inserted many random points.
- I marked the point manually in orange color for points outside the graph and green color for points inside the graph
- I wonder how can we calculate the number of points in green color automatically using only MATLAB code?
Thank you in advance

Answers (1)
Andrei Bobrov
on 20 May 2015
Edited: Andrei Bobrov
on 20 May 2015
x = [0,7, 18, 37,47,54,57.5,59,61.5,69,87,95,99,103,110]'/110; % Let this
y = [0, 15,43,53,42,20,7,0, 37, 61,56, 40.5, 24, 6, 0]'/61; % is arrays - your data
f = griddedInterpolant(x,y,'pchip'); % old MATLAB: pp = interp1(x,y,'pchip','pp');
% f = @(x)ppval(pp,x);
xx = rand(100,1);
yy = rand(100,1)*1.3; % points for check
t = f(xx) - yy > 0;
plot(0:.001:1,f(0:.001:1));grid on
hold on
plot(xx(t),yy(t),'g*');
plot(xx(~t),yy(~t),'r*');
2 Comments
Ellina
on 21 May 2015
Andrei Bobrov
on 21 May 2015
number of green point:
NG = sum(t);
or
NG = nnz(t);
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!