필터 지우기
필터 지우기

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!