Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

contourc

低级等高线矩阵计算

    说明

    M = contourc(Z) 计算曲面的等高线矩阵 M。将 Z 指定为包含曲面相对于 x-y 平面的高度值的矩阵。MATLAB® 确定等高线的数量和对应的值。Z 的列和行索引分别是平面中的 xy 坐标。

    注意

    contourc 返回的矩阵可能与 contourcontourfcontour3 函数的结果不一致。要获取其中一个函数使用的矩阵,请使用输出参量调用该函数。

    示例

    M = contourc(x,y,Z) 指定 Z 中各值的 xy 坐标。

    示例

    M = contourc(___,levels) 将要计算的等高线指定为上述任一语法中的最后一个参量。将 levels 指定为标量值 n,以在 n 个自动选择的层级(高度)上计算等高线。要在某些特定高度计算等高线,请将 levels 指定为单调递增值的向量。要在一个高度 (k) 计算等高线,请将 levels 指定为二元素行向量 [k k]

    示例

    示例

    全部折叠

    创建向量 xy。然后创建矩阵 XmYm,它们在 xy 平面中定义一个网格。将矩阵 Z 定义为抛物面的高度值。

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

    计算 Z 的等高线矩阵,但不指定 Zxy 坐标。以矩阵 M1 形式返回结果,并显示前五列。第一列中的值指示第一条等高线位于具有 29 个顶点的 Z=5 处。第一个顶点位于 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 的等高线矩阵。这一次,指定 xy 坐标。显示 M2 的前五列。请注意,第一条等高线的第一个 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。然后创建矩阵 XmYm,它们在 xy 平面中定义一个网格。将矩阵 Z 定义为抛物面的高度值。

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

    计算 contourc 函数选择的 10 个层级上的等高线矩阵。以矩阵 M 形式返回结果,并显示前五列。第一列中的值指示第一条等高线位于具有 37 个顶点的 Z=4.55 处。第一个顶点位于 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。然后创建矩阵 XmYm,它们在 xy 平面中定义一个网格。将矩阵 Z 定义为抛物面的高度值。

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

    计算在四个特定层级的等高线矩阵:5101520。以矩阵 M 形式返回结果,并显示前五列。第一列中的值指示第一条等高线位于具有 29 个顶点的 Z=5 处。第一个顶点位于 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 将使用固定间隔的等高线网格计算等高线,然后它将数据传输给 xy。如果 xy 非固定间隔,等高线的形状可能会失真。

    数据类型: double

    y 坐标,指定为长度为 m 的向量,其中 [m,n] = size(Z)y 的默认值是向量 (1:m)。向量中的值必须严格递增或递减。

    示例: y = 1:10

    示例: y = [1 2 3 4 5]

    注意

    contourc 将使用固定间隔的等高线网格计算等高线,然后它将数据传输给 xy。如果 xy 非固定间隔,等高线的形状可能会失真。

    数据类型: double

    z 坐标,指定为矩阵。此矩阵必须至少包含两行两列,并且必须至少包含两个不同值。

    示例: Z = peaks(20)

    数据类型: double

    等高线层级,指定为整数标量或向量。使用此参量可控制等高线的数量和位置。如果未指定层级,contourc 函数会自动选择层级。

    • 要在 n 个自动选择的高度处计算等高线,请将 levels 指定为标量值 n。

    • 要在某些特定高度计算等高线,请将 levels 指定为单调递增值的向量。

    • 要在单个高度 k 处计算等高线,请将 levels 指定为二元素行向量 [k k]

    示例: contourc(peaks,10)peaks 函数上 10 个自动选择的高度处计算等高线。

    示例: contourc(peaks,[-4 0 4])peaks 函数上的 3 个特定高度处计算等高线:-404

    示例: contourc(peaks,[3 3]) 计算 peaks 函数的高度为 3 的等高线。

    数据类型: double

    输出参量

    全部折叠

    等高线矩阵,以下面形式的两行矩阵形式返回。

    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 之前推出

    另请参阅

    | | |