如何用Matlab构造不等宽度的直方图?

yas*_*ine 7 matlab histogram

我想构建一个具有不等区间(间隔)的直方图.Matlab只构造具有相等区间的直方图,就好像它是一个图表.!!!

请帮帮我...非常感谢!!

Amr*_*mro 16

这是一个例子:

x = randn(100,1)*3;           %# some random data
e = [-10 -5 -3 -1 1 2 3 20];  %# edges of intervals:  e(i) <= x < end(i+1)
c = histc(x,e);               %# get count in each interval
bar(e, c, 'histc')            %# bar plot
set(gca, 'xlim',[e(1) e(end)])
Run Code Online (Sandbox Code Playgroud)

产量


Ofe*_*lon 5

2解决方案:

  1. 使用hist的第二个参数指定bin 中心.
  2. 使用histc的第二个参数指定bin 边缘.此函数需要进一步处理,因为它不直接生成图形 - 请参阅链接以获取用法示例.