现在很多直方图都是用在图像识别里面的,当然直方图不仅仅用在图像灰色值,也可以清晰的表示数据,比较二维星座点用幅度直方图来表示.
matlab 里面直方图有两个表示:1、bar ;2、hist
bar:画二条形图
1、bar(Y) 如果Y是一个向量,函数对Y中的每一个元素绘制直方图,如果Y是一个矩阵,函数将对每一行作为一个向量绘制直方图,轴上的值是向量中的元素索引。
2、bar(X,Y) 在指定X上绘制直方图,X可以是非单调的,但不能含有相同的值
3、barh(...) barh语法格式与bar函数相同,bar绘制垂直直方图,barh绘制水平直方图
hist:画二维条形直方图
n=hist(Y)
输入Y,将Y平均分为10组,统计每一组的数据个数,返回值n为每一组数据的个数,如果Y是矩阵,则函数对每一列分别进行操作,返回n为10*p矩阵,p为矩阵Y的列数。
变体
n=hist(Y,X)
分组时,将Y中的元素放入X指定的位置为中心的条形中,共有length(X)个组
[n,xout]=hist(.....)
返回每组数据的个数n和每组数据的内容xout。用户可以通过bar(xout,n)画出直方图
a=round(rand(2000,1));
b=size(a,1);
for i=1:1:b
tempI=[a(i)];
if tempI==[1]
signal_base_bandIX(i)=-0.5;
elseif tempI==[0]
signal_base_bandIX(i)=0.5;
end;
end;