||
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)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-24 13:33
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社