find elemets of matrix based on logical conditions

1 view (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

KSSV
KSSV on 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')

More Answers (0)

Community Treasure Hunt

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

Start Hunting!