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

1 次查看(过去 30 天)
H.O
H.O 2023-9-3
评论: H.O 2023-9-3
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ファイルなどで保存します.

采纳的回答

Hernia Baby
Hernia Baby 2023-9-3
サンプルをつくります
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 个评论
H.O
H.O 2023-9-3
ありがとうございます!

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!