【问题标题】:Custom contour plot in MATLABMATLAB中的自定义等高线图
【发布时间】:2012-03-28 12:23:54
【问题描述】:

我想创建一个contour plot in MATLAB,如this 页面上的第二个示例:

ContourPlot[Cos[x] + Cos[y] == 1/2, {x, 0, 4 Pi}, {y, 0, 4 Pi}]

如您所见,他们只绘制 f(X, Y) == some_value 的线。我遇到的另一个问题是我没有真正的函数 f,而只有 [x, y, z] 类型的点的集合(从文件中读取) ,当然还有 some_value

是否可以在 MATLAB 中进行这样的绘图?

【问题讨论】:

    标签: matlab plot contour


    【解决方案1】:

    只需将 contour 函数与所需值的第二个参数一起使用(它是 2 个元素的向量而不是标量,以区分函数调用与其他模式):

    some_value = .5;
    [x y] = meshgrid(linspace(0,4*pi,30),linspace(0,4*pi,30));
    z = cos(x)+cos(y);
    contour(x, y, z, [some_value, some_value])
    

    【讨论】:

    • 谢谢。考虑到 x、y 和 z 在我的情况下是作为输入给出的稀疏点数组,这是否可行?
    • 什么意义上的稀疏?如果它是 Matlab 的稀疏表示,则假定“缺失”值为零,它应该可以工作。如果有缺失值,则无法找到轮廓。
    • 我的文件是这样的:[-1, -1, 2], [-1, 0.99, 4], ... 意思是[x, y, z]
    【解决方案2】:

    它帮助了我。

    contourf(aX, aY, NM(:, :, k+1), 'ShowText','on', 'LevelStep', 0.4);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多