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

2 visualizaciones (últimos 30 días)
Y.T
Y.T el 29 de Nov. de 2021
Comentada: Y.T el 5 de Dic. de 2021
3次元において、
Zの値だけが表示されているとき、それに対応する X と Y の値を紐づけたいのですが、どのようにプログラムを作成したらよいのでしょうか。
例えば、このセルの値(Z)のX,Yの値は、(X,Y)=(2,5)です。
のように紐づけたいです。

Respuesta aceptada

Atsushi Ueno
Atsushi Ueno el 29 de Nov. de 2021
見つけたい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 comentario
Y.T
Y.T el 5 de Dic. de 2021
ご回答ありがとうございます。ぜひ参考にさせてください。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!