find elemets of matrix based on logical conditions

4 Ansichten (letzte 30 Tage)
Hamid
Hamid am 1 Aug. 2022
Kommentiert: Hamid am 1 Aug. 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 Kommentare
Stephen23
Stephen23 am 1 Aug. 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 am 1 Aug. 2022
@Stephen23 Thank you so much.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 1 Aug. 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')

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by