我有以下代码返回直方图的值:\
[a,b]=hist(x(:),unique(x));
因为我在 中有负值x
,所以我得到例如 value -3
,因此得到一个错误,因为 bin 的数量不能为负。
有什么办法可以解决这个问题?
谢谢。
我有以下代码返回直方图的值:\
[a,b]=hist(x(:),unique(x));
因为我在 中有负值x
,所以我得到例如 value -3
,因此得到一个错误,因为 bin 的数量不能为负。
有什么办法可以解决这个问题?
谢谢。
该函数hist
可以接受bin中心的向量。这些中心可能是负的。
我认为问题是当unique(x)
返回一个负标量然后hist
将其视为垃圾箱的数量而不是垃圾箱的中心
解决方法
ux = unique( x );
if numel( ux ) == 1
% there is only one unique value in vecor x -
% no need to do a histogram, it will only have one bin!
a = numel( x );
b = ux;
else
% many unique values in x - compute a histogram.
[a, b] = hist(x, ux);
end