contour 関数で描画したコンタ​ー図のラインの座標値​を取得することはでき​ますか?

조회 수: 3 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2020년 3월 5일
답변: MathWorks Support Team 2020년 3월 5일
contour 関数で、Z 軸方向のある一つの値(レベル)に対して等高線を描画しています。
そこで描画されたラインの x,y 座標値を取得する方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2020년 3월 5일
contour 関数に第1出力引数を付加することで、等高線の x,y 座標値を取得することが可能です。
なお、contour 関数から取得される行列の定義が、独自のルールに従って生成されることに注意してください。
詳細は、以下の URL より contour 関数のヘルプドキュメント M をご覧ください。
・contour : M — 等高線行列
以下は、デモデータ peaks の contour 図の 1 つのレベルに対する x,y 座標を取得する例です。
この例では、contour 図の 1 つのレベルだけであっても、複数のラインで示されることがあるため、各セットごとにセル配列に格納しています。
Z = peaks;
H = figure(1);
val = 0; % Z の値を指定
M = contour(Z,[val,val]);
n = 1; % 行列 M 内のセットを表すためのインデックス
ii = 1; % 座標を格納するための配列のインデックス
while 1
if n > length(M)
break
end
N = M(2,n);
data{ii} = M(:,n+1:(n+N));%#ok
n = n+1+N;
ii = ii+1;
end
% Z=0 のラインを重ね書き
figure(2)
hold on
cellfun(@(x)plot3(x(1,:),x(2,:),ones(1,size(x,2))*val,'Color','r'),data)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 等高線図에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

Community Treasure Hunt

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

Start Hunting!