How to find the number of point inside the graph?

4 vues (au cours des 30 derniers jours)
Ellina
Ellina le 20 Mai 2015
Commenté : Andrei Bobrov le 21 Mai 2015
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

Réponses (1)

Andrei Bobrov
Andrei Bobrov le 20 Mai 2015
Modifié(e) : Andrei Bobrov le 20 Mai 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 commentaires
Ellina
Ellina le 21 Mai 2015
Thank you so much.
The logical code,t helps me a lot.
I already plotted the graph but I don't know how to count automatically the number of green point.
Still trying my best to code it.
Andrei Bobrov
Andrei Bobrov le 21 Mai 2015
number of green point:
NG = sum(t);
or
NG = nnz(t);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by