MATLAB中绘制数据直方图的新函数histogram

转自:http://blog.sciencenet.cn/blog-292361-1054195.html

MATLAB中有命令hist()可以绘制直方图,纵坐标是频数,这与一些教科书中用纵轴表示频率的做法不一致,有些时候不便于使用。当然,使用者可以自己编写定制能够在纵轴绘出频率的直方图。在MATLAB中,增加了具有复杂功能的绘制数据直方图的新函数histogram().

在MATLAB2015b测试环境下,MATLAB代码和图形如下:

一、绘制数据直方图的新函数histogram()

1、>> X = randn(1000,1); nbins = 25; h = histogram(x,nbins)%与hist相同

2、两个直方图叠加

>> x = randn(2000,1);y = 1 + randn(5000,1);h1 = histogram(x);hold on;h2 = histogram(y);

3、如果想显示频率,注意下图纵坐标

h1.Normalization = 'probability';h1.BinWidth = 0.25;h2.Normalization = 'probability';h2.BinWidth = 0.25;

4、一个密度拟合例子

>>  x = 2*randn(5000,1) + 5;

histogram(x,'Normalization','pdf')

hold on

y = -5:0.1:15;mu = 5;sigma = 2;

f = exp(-(y-mu).^2./(2*sigma^2))./(sigma*sqrt(2*pi));

plot(y,f,'LineWidth',1.5)

发布了79 篇原创文章 · 获赞 119 · 访问量 53万+

猜你喜欢

转载自blog.csdn.net/dujiahei/article/details/90763076