如何在轮廓线中显示值?克拉贝尔不工作

时间:2016-08-11 16:08:11

标签: matlab matlab-figure matlab-guide

这是我的代码:

syms x y;
f= x^2/(y-y^2);
ezcontour(f,[-1,1],[0.1,0.9]);

如何展示标签?我要展示这样的东西: ContourLinesExample

非常感谢你!

2 个答案:

答案 0 :(得分:1)

使用contour

x = [-1:0.01:1];
y = [0.1:0.01:0.9];
[X, Y] = meshgrid(x,y);
f= X.^2./(Y-Y.^2);
[C, h] = contour(f);
clabel(C, h);

contour

答案 1 :(得分:0)

clabel希望Contour object显示轮廓矩阵作为输入。虽然ezcontour没有像contour那样返回矩阵,但Contour对象有一个'ContourMatrix' property。如果为ezcontour指定输出,它将返回可以直接查询的绘制轮廓的句柄。

例如:

f = @(x, y) x.^2/(y-y.^2);

h = ezcontour(f, [-1, 1], [0.1, 0.9]);
C = h.ContourMatrix;  % R2014b or newer
% C = get(h, 'ContourMatrix');  % R2014a and older
clabel(C, h);

返回所需的输出:

yay

或者,您可以将手柄传递给轮廓以获得相同的结果:

clabel([], h);

根据文件:

  

如果您没有轮廓矩阵C,请将C替换为[]