3次元のベクトルプロットのしきい値処理

5 vues (au cours des 30 derniers jours)
H.O
H.O le 3 Sep 2023
Commenté : H.O le 3 Sep 2023
3次元のベクトルプロットquiver3(X,Y,Z,U,V,W)について
下記処理イメージのようにU,V,Wのいずれかに閾値を反映させたいです.
どのようにするとよいでしょうか?
●やりたいこと
1,閾値以上のベクトルを任意のカラーで着色表してプロット
2.閾値以上のデータを抽出して新規作成と保存
●処理イメージ
データ例
 x y  z  u  v  w
0.4 -5.6 202 2.0 6.0 5.0
0.3 -5.6 201 3.0 7.0 6.0
0.3 -5.6 201 4.0 8.0 7.0
0.3 -5.6 203 5.0 9.0 8.0
0.3 -5.6 201 6.0 0.0 3.0
閾値を4として,u>4 以上を抽出します
 x  y  z  u  v  w
0.3 -5.6 201 4.0 8.0 7.0
0.3 -5.6 203 5.0 9.0 8.0
0.3 -5.6 201 6.0 0.0 3.0
→このデータをベクトルプロットで表示,csvファイルなどで保存します.

Réponse acceptée

Hernia Baby
Hernia Baby le 3 Sep 2023
サンプルをつくります
A=[0.4 -5.6 202 2.0 6.0 5.0
0.3 -5.6 201 3.0 7.0 6.0
0.3 -5.6 201 4.0 8.0 7.0
0.3 -5.6 203 5.0 9.0 8.0
0.3 -5.6 201 6.0 0.0 3.0];
閾値判定:4列目 > 4を指定します
idx = A(:,4) > 4
idx = 5×1 logical array
0 0 0 1 1
該当する行列を抽出します。
B = A(idx,:)
B = 2×6
0.3000 -5.6000 203.0000 5.0000 9.0000 8.0000 0.3000 -5.6000 201.0000 6.0000 0 3.0000
プロットします。
figure
hold on
scatter3(A(:,1),A(:,2),A(:,3),"k")
scatter3(B(:,1),B(:,2),B(:,3),"r")
view(3)
保存します
writematrix(B,"sample.xlsx")
ls
sample.xlsx
readmatrix("sample.xlsx")
ans = 2×6
0.3000 -5.6000 203.0000 5.0000 9.0000 8.0000 0.3000 -5.6000 201.0000 6.0000 0 3.0000
  1 commentaire
H.O
H.O le 3 Sep 2023
ありがとうございます!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur コンピューター ビジョンと Simulink dans Help Center et File Exchange

Produits


Version

R2022b

Community Treasure Hunt

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

Start Hunting!