Removing negative values of 3d data
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Nathan Mu
el 17 de Abr. de 2022
Comentada: Tim Albertsson
el 16 de Feb. de 2024
Hello, I have a diagram where I want to get rid of the lower portion (the points which have negative z value) so I can use scatteredInterpolant on it. How would I do this?
The points are stored in a 3D array with index (1,1,1) being an x-value, (1,1,2) being the corresponding y value and (1,1,3) being the corresponding z value.
Thanks!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/967200/image.png)
Respuesta aceptada
Chunru
el 18 de Abr. de 2022
Editada: Chunru
el 19 de Abr. de 2022
x = load("ggv.mat");
GGV = x.GGV;
figure
surf(GGV(:,:,2), GGV(:,:,3), GGV(:,:,1), 'EdgeColor', 'none');
xlabel('x'); ylabel('y')
figure
% to demonstrate limit works for X data (Z in the plot)
surf(GGV(:,:,2), GGV(:,:,3), max(GGV(:,:,1), -20), 'EdgeColor', 'none'); % -20 and above
xlabel('x'); ylabel('y')
% The number of points for z<0
sum(GGV(:, :, 3) < 0, 'all')
min(GGV(:, :, 3), [], 'all')
figure
% limit z data here will not make no change since no z is less than 0
surf(GGV(:,:,2), max(GGV(:,:,3), 0), GGV(:,:,1), 'EdgeColor', 'none');
xlabel('x'); ylabel('y')
figure
% limit GGV(:,:,1)
surf(GGV(:,:,2), GGV(:,:,3), max(GGV(:,:,1), 0), 'EdgeColor', 'none');
xlabel('x'); ylabel('y')
zlim([-80 20])
3 comentarios
Tim Albertsson
el 16 de Feb. de 2024
Hi! How did you get the GGV points from the start? I'm trying to make my own script for this and I've gotten the max lat and lon accelerations for the different speeds but not the full (GG "elipse").
Más respuestas (1)
Chunru
el 18 de Abr. de 2022
% Your data
data = randn(357, 177, 3);
% limit to 0
data(:, :, 3) = max(data(:, :, 3), 0); % to limit the surface up to 0
% You may also want to try nan (depending on how you plot the data)
idx = data(:, :, 3) < 0;
data(idx, 3) = nan;
Ver también
Categorías
Más información sobre Historical Contests en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!