matlab中hist函数的用法是什么?

matlab中hist函数的用法是什么?,第1张

histogram是一个在图像上应用广泛的一个统计工具,bag-of-word,spatial pymarid matching等等都是基于histogram的。那么如何去做到有效的统计,而不去自己写很长很慢的循环完成这项工作呢?matlab提供了一个非常便利的函数:hist

下面将得到hist的一些函数用法:

数据为10000个正态分布:y = randn(10000,1)区间从-4到4:x = -4:0.1:4

1.n=hist(Y)

默认十个等间隔区间,并返回每个范围内的Y的元素个数作为一行向量,

2.n=hist(Y,X)

X是一个事先给定的区间划分,统计Y在X这个区间划分下的个数,

3.n=hist(Y,nbins)

nbins是间隔数,也就是说我们应该统计多少个间隔,这里设nbins=20,

4.[n,xout]=hist(...)

返回的参数多了很多,n是每一个区间的个数,xout是区间的中心位置

x轴是范围(bin),y轴是频率(个数),它的bin是1-1.75, 1.75-2.5, 2.5-3.25, 3.25-4 四个范围,3,2,3,2是这些data有多少个属于bin对应的范围,即 3个数据在1-1.75这个范围,2个数据在1.75-2.5的范围,...

[n,bins]=hist(data,4),可以输出对应的bin(这里输出的bin是范围中心的位置,可以换算成以上提到的范围)

使用text 命令,

举个例子

close all ,

x = rand(100,1)

%获得直方图的数据

[n,y] = hist(x)

maxN = max(n)

%设置显示x,y长度限制

axis([0 1.2 0 maxN+2])

%根据直方图的数据绘制出图形

bar(y,n)

for i = 1:length(y)

%直方图上面数据对不齐,利用水平和垂直对齐

text(y(i),n(i)+0.5,num2str(n(i)),'VerticalAlignment','middle','HorizontalAlignment','center')

end


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11938424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存