Borrar filtros
Borrar filtros

find elemets of matrix based on logical conditions

1 visualización (últimos 30 días)
Hamid
Hamid el 1 de Ag. de 2022
Comentada: Hamid el 1 de Ag. de 2022
Dear MATLAB experts,
I have a matrix and wanted to find elements that meet the condition written as goodpts. I tried find function returns a one column array. I could show want I wanted using scatter3.
Thank you in advance.
points=readtable('points.txt');
points=table2array(points);
x_p=points(:,1);
y_p=points(:,2);
z_p=points(:,3);
t_p=points(:,4);
goodpts= z_p>-5 & z_p<5 & x_p>-20 & x_p<20 & -20<y_p & y_p<20 ;
good_points=find(points(goodpts));
scatter3(x_p(goodpts),y_p(goodpts),z_p(goodpts),2,t_p(goodpts),'filled')
  4 comentarios
Stephen23
Stephen23 el 1 de Ag. de 2022
"In other words, record what has been shown in the scatter3 graph."
x_shown_in_graph = x_p(goodpts);
y_shown_in_graph = y_p(goodpts);
z_shown_in_graph = z_p(goodpts);
Hamid
Hamid el 1 de Ag. de 2022
@Stephen23 Thank you so much.

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 1 de Ag. de 2022
points=readtable('points.txt');
points=table2array(points);
x_p=points(:,1);
y_p=points(:,2);
z_p=points(:,3);
t_p=points(:,4);
goodpts= z_p>-5 & z_p<5 & x_p>-20 & x_p<20 & -20<y_p & y_p<20 ;
good_points=find(points(goodpts));
x_p_goodpts = x_p(goodpts) ;
y_p_goodpts = y_p(goodpts) ;
z_p_goodpts = z_p(goodpts) ;
t_p_goodpts = t_p(goodpts) ;
scatter3(x_p_goodpts,y_p_goodpts,z_p_goodpts,2,t_p_goodpts,'filled')

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by