Azzera filtri
Azzera filtri

How to find the number of point inside the graph?

4 visualizzazioni (ultimi 30 giorni)
Ellina
Ellina il 20 Mag 2015
Commentato: Andrei Bobrov il 21 Mag 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

Risposte (1)

Andrei Bobrov
Andrei Bobrov il 20 Mag 2015
Modificato: Andrei Bobrov il 20 Mag 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 Commenti
Ellina
Ellina il 21 Mag 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 il 21 Mag 2015
number of green point:
NG = sum(t);
or
NG = nnz(t);

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by