绘制轮廓时获得限制错误

时间:2017-05-02 02:28:24

标签: octave

我进入了这个

contour(theta0_vals, theta1_vals , J_vals,logspace(-2,3,20));

Octave告诉我这个错误。

error: axis: LIMITS(1) must be less than LIMITS(2)
error: called from
axis>__axis__ at line 313 column 9
axis at line 155 column 7
__contour__ at line 198 column 5
contour at line 74 column 16

1 个答案:

答案 0 :(得分:0)

contour函数计算轮廓,然后创建一个图形来显示它们。

当它创建图形时,它会尝试从每个维度中网格的最小值和最大值自动设置轴限制(这发生在轮廓 .m的第198行,根据报告的错误)

如果特定维度中网格的大小是单数,则最小值和最大值是相同的数字,这会在尝试显示时导致错误,因为您无法为绘图指定轴宽度0或表面上。

观察:

>> [X, Y] = ndgrid(0, -5:5);  % X results in a 1x11 vector
>> contour(X,Y,Y)
error: axis: LIMITS(1) must be less than LIMITS(2)
error: called from
    axis>__axis__ at line 313 column 9
    axis at line 155 column 7
    __contour__ at line 198 column 5
    contour at line 74 column 16

因此,您的theta0_valstheta1_vals变量在一个维度上是标量或单数。这无论如何都不能用作网格,所以要么这是一个但是,或者如果这是预期的行为,你可能不得不重新考虑你在这里做的事情。