Main Content

contourc

低水準の等高線行列の計算

    説明

    M = contourc(Z) は、表面の等高線行列 M を計算します。x-y 平面からの表面の高さの値が含まれている行列として Z を指定します。MATLAB® により、等高線の数と対応する値が判別されます。Z の列と行のインデックスは、それぞれ平面の x 座標と y 座標です。

    メモ

    contourc から返される行列は、contourcontourf、および contour3 の各関数からの結果と矛盾している場合があります。それらの関数のいずれかで使用される行列を取得するには、出力引数を指定してその関数を呼び出します。

    M = contourc(x,y,Z) は、Z の値に x 座標および y 座標を指定します。

    M = contourc(___,levels) は、前述の任意の構文における最後の引数として、計算する等高線を指定します。スカラー値 n として levels を指定し、自動的に選択されたレベル (高さ) n の等高線を計算します。特定の高さの等高線を計算するには、単調増加する値のベクトルとして levels を指定します。1 つの高さ (k) の等高線を計算するには、levels を 2 要素の行ベクトル [k k] として指定します。

    すべて折りたたむ

    ベクトル xy を作成します。次に、"xy" 平面にグリッドを定義する行列 Xm および Ym を作成します。行列 Z を放物面の高さの値として定義します。

    x = -5:0.5:5;
    y = -5:0.5:5;
    [Xm,Ym] = meshgrid(x,y);
    Z = Xm.^2 + Ym.^2;

    Z"x" 座標および "y" 座標を指定せずに、Z の等高線行列を計算します。結果を行列 M1 として返し、最初の 5 列を表示します。最初の列の値は、最初の等高線について Z=5 であり、頂点が 29 個あることを示しています。最初の頂点は、x=7y=13 にあります。

    M1 = contourc(Z);
    M1(:,1:5)
    ans = 2×5
    
        5.0000    7.0000    7.7143    8.0000    9.0000
       29.0000   13.0000   14.0000   14.2857   15.0000
    
    

    もう一度 Z の等高線行列を計算します。今度は、"x" 座標と "y" 座標を指定します。M2 の最初の 5 列を表示します。最初の Z の値および最初の等高線の頂点の数が M1 と同じであるが、頂点の座標が異なっていることに注意してください。

    M2 = contourc(x,y,Z);
    M2(:,1:5)
    ans = 2×5
    
        5.0000   -2.0000   -1.6429   -1.5000   -1.0000
       29.0000    1.0000    1.5000    1.6429    2.0000
    
    

    ベクトル xy を作成します。次に、"xy" 平面にグリッドを定義する行列 Xm および Ym を作成します。行列 Z を放物面の高さの値として定義します。

    x = -5:0.5:5;
    y = -5:0.5:5;
    [Xm,Ym] = meshgrid(x,y);
    Z = Xm.^2 + Ym.^2;

    contourc 関数で選択された 10 レベルの等高線行列を計算します。結果を行列 M として返し、最初の 5 列を表示します。最初の列の値は、最初の等高線について Z=4.55 であり、頂点が 37 個あることを示しています。最初の頂点は、x=-2y=0.697 にあります。

    M = contourc(x,y,Z,10);
    M(:,1:5)
    ans = 2×5
    
        4.5455   -2.0000   -1.8701   -1.5130   -1.5000
       37.0000    0.6970    1.0000    1.5000    1.5130
    
    

    ベクトル xy を作成します。次に、"xy" 平面にグリッドを定義する行列 Xm および Ym を作成します。行列 Z を放物面の高さの値として定義します。

    x = -5:0.5:5;
    y = -5:0.5:5;
    [Xm,Ym] = meshgrid(x,y);
    Z = Xm.^2 + Ym.^2;

    4 つの特定レベル (5101520) の等高線行列を計算します。結果を行列 M として返し、最初の 5 列を表示します。最初の列の値は、最初の等高線について Z=5 であり、頂点が 29 個あることを示しています。最初の頂点は、x=-2y=1 にあります。

    M = contourc(x,y,Z,[5 10 15 20]);
    M(:,1:5)
    ans = 2×5
    
        5.0000   -2.0000   -1.6429   -1.5000   -1.0000
       29.0000    1.0000    1.5000    1.6429    2.0000
    
    

    入力引数

    すべて折りたたむ

    x 座標。長さ n のベクトルとして指定します ([m,n] = size(Z))。x の既定値はベクトル (1:n) です。ベクトルの値は厳密に増加または減少している必要があります。

    例: x = 1:10

    例: x = [1 2 3 4 5]

    メモ

    contourc は、等間隔の等高線グリッドを使って等高線を計算したのち、データを変換して x または y に設定します。x または y が等間隔ではない場合、等高線の形状は歪むことがあります。

    データ型: double

    y 座標。長さ m のベクトルとして指定します ([m,n] = size(Z))。y の既定値はベクトル (1:m) です。ベクトルの値は厳密に増加または減少している必要があります。

    例: y = 1:10

    例: y = [1 2 3 4 5]

    メモ

    contourc は、等間隔の等高線グリッドを使って等高線を計算したのち、データを変換して x または y に設定します。x または y が等間隔ではない場合、等高線の形状は歪むことがあります。

    データ型: double

    z 座標。行列として指定します。この行列には、少なくとも 2 行と 2 列がなければならず、少なくとも 2 つの異なる値が含まれなければなりません。

    例: Z = peaks(20)

    データ型: double

    等高線のレベル。0 または正の整数のスカラー、あるいはベクトルとして指定します。この引数を使用して等高線の数と位置を制御します。レベルを指定しない場合、関数 contourc はレベルを自動的に選択します。

    • 自動的に選択された n 個の高さの等高線を計算するには、levels をスカラー値 n として指定します。

    • 特定の高さの等高線を計算するには、単調増加する値のベクトルとして levels を指定します。

    • 単一の高さ k の等高線を計算するには、levels を 2 要素の行ベクトル [k k] として指定します。

    例: contourc(peaks,10) は、関数 peaks の自動的に選択された 10 個の高さの等高線を計算します。

    例: contourc(peaks,[-4 0 4]) は、関数 peaks の特定の 3 つの高さ -40、および 4 の等高線を計算します。

    例: contourc(peaks,[3 3]) は、関数 peaks の高さが 3 の等高線を計算します。

    データ型: double

    出力引数

    すべて折りたたむ

    等高線行列。次の形式の 2 行の行列として返されます。

    Z1, x1,1, x1,2, ..., x1,N1, Z2, x2,1, x2,2, ..., x2,N2, Z3, ...
    N1, y1,1, y1,2, ..., y1,N1, N2, y2,1, y2,2, ..., y2,N2, N3, ...

    この行列の各列は等高線を定義します。各等高線は Z 値と N 値を含む列で始まります。

    • Zi — i 番目の等高線の高さ

    • Ni — i 番目の等高線の頂点の数

    • (xij, yij) — i 番目の等高線の頂点の座標 (j は 1 ~ Ni の範囲)

    拡張機能

    バージョン履歴

    R2006a より前に導入