contour 関数で描画したコンター図のラインの座標値を取得することはできますか?
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 5 Mär. 2020
Beantwortet: MathWorks Support Team
am 5 Mär. 2020
contour 関数で、Z 軸方向のある一つの値(レベル)に対して等高線を描画しています。
そこで描画されたラインの x,y 座標値を取得する方法を教えてください。
Akzeptierte Antwort
MathWorks Support Team
am 5 Mär. 2020
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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 等高線図 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!