我有以下代码返回直方图的值:\
[a,b]=hist(x(:),unique(x));
由于我在x
中有负值,因此我得到值-3
,因此得到错误,因为容器的数量不能为负数。
有什么可以解决这个问题?
感谢。
答案 0 :(得分:2)
函数hist
可以接受bin中心的 vecotr 。这些中心可能是负面的
我认为问题是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