3次元において、Zの​値に対応するX,Yの​値を紐づけたい

조회 수: 2 (최근 30일)
Y.T
Y.T 2021년 11월 29일
댓글: Y.T 2021년 12월 5일
3次元において、
Zの値だけが表示されているとき、それに対応する X と Y の値を紐づけたいのですが、どのようにプログラムを作成したらよいのでしょうか。
例えば、このセルの値(Z)のX,Yの値は、(X,Y)=(2,5)です。
のように紐づけたいです。

채택된 답변

Atsushi Ueno
Atsushi Ueno 2021년 11월 29일
見つけたいZの値を3次元データのZの値群と比較して、差分が閾値未満の値を見つけます。
[X,Y] = meshgrid(0:0.1:1);
Z = exp(X+Y); % 適当なデータを仮定
FindZ = 6.0496; % 表示されているZの値をZ=6.0496とします(同じZ値が3点見つかる場合です)
[row,col] = ind2sub(size(X),find(abs(Z-FindZ)<0.001)); % ここがポイントです
stem3(X,Y,Z); hold on;
for i=1:length(row)
disp(['このセルの値(' num2str(Z(row(i),col(i))) ')のX,Yの値は、(X,Y)=(' ...
num2str(X(row(i),col(i))) ',' num2str(Y(row(i),col(i))) ')です。']);
stem3(X(row(i),col(i)),Y(row(i),col(i)),Z(row(i),col(i)),'red','LineWidth',3);
end
このセルの値(6.0496)のX,Yの値は、(X,Y)=(0.8,1)です。 このセルの値(6.0496)のX,Yの値は、(X,Y)=(0.9,0.9)です。 このセルの値(6.0496)のX,Yの値は、(X,Y)=(1,0.8)です。
  댓글 수: 1
Y.T
Y.T 2021년 12월 5일
ご回答ありがとうございます。ぜひ参考にさせてください。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!