Counitng the number of scatter points above a surface
Mostrar comentarios más antiguos
Hi All,
I am having some troubles and hoping someone out there much smarter with MATLAB than me can help.
The problem I have i

s;
- I have plotted some data as a 3D scatter plot.
- I have then plotted a surface which is a ‘limiting condition’ for the data I have.
- I need to count the number of data points that fall above and below the surface.
Is this something that can be done?
I have been reading up on slices and searching these forums for help but cant find anything close.
Any help is appreciated.
The code is;
Respuesta aceptada
Más respuestas (1)
Lukas Bystricky
el 11 de Ag. de 2015
Editada: Lukas Bystricky
el 11 de Ag. de 2015
Can your surface be expressed as z = f(x,y)? If so for every scatter point (at position (x0,y0, z0)), you can do:
h = z0 - f(x0,y0)
If h > 0 your point is above the surface.
If you can't express your surface as z = f(x,y), you can use interp2 or something to get an approximation to z at any (x,y) and do the same as above.
3 comentarios
Adam Bartle
el 11 de Ag. de 2015
Lukas Bystricky
el 11 de Ag. de 2015
Editada: Lukas Bystricky
el 11 de Ag. de 2015
You could try to use scatteredInterpolant to evaluate all your points. The process might look something like this:
F = scatteredInterpolant(x, y, z) % x, y and z can be unordered
Then for each point you could call:
z_surface = F(point_x, point_y);
Although this may take a while to run for 46752 points. If you're planning on doing this several times that might be an issue.
Adam Bartle
el 12 de Ag. de 2015
Categorías
Más información sobre Surface and Mesh Plots en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
