find elemets of matrix based on logical conditions

4 ビュー (過去 30 日間)
Hamid
Hamid 2022 年 8 月 1 日
コメント済み: Hamid 2022 年 8 月 1 日
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 件のコメント
Stephen23
Stephen23 2022 年 8 月 1 日
"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 2022 年 8 月 1 日
@Stephen23 Thank you so much.

サインインしてコメントする。

採用された回答

KSSV
KSSV 2022 年 8 月 1 日
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')

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by