找回密码
 注册
查看: 20581|回复: 1

matlab如何画概率密度直方分布图

[复制链接]
发表于 2010-8-28 17:02:50 | 显示全部楼层 |阅读模式
y=rand(1,3000)
ymin=min(y);
ymax=max(y);
x=linspace(ymin,ymax,20); %将最大最小区间分成20个等分点(19等分),然后分别计算各个区间的个数
yy=hist(y,x); %计算各个区间的个数
yy=yy/length(y); %计算各个区间的个数
bar(x,yy) %画出概率密度分布图
回复

使用道具 举报

发表于 2011-5-19 21:54:41 | 显示全部楼层
上面那个有问题的,会随着分割的变化,y坐标跟着变
正解如下:
split_number=100;
y=rand(1,3000);
ymin=min(y);
ymax=max(y);
x=linspace(ymin,ymax,split_number); %将最大最小区间分成split_number个等分点(19等分),然后分别计算各个区间的个数
yy=hist(y,x); %计算各个区间的个数
yy=yy/(sum(yy)*(ymax-ymin)/split_number); %计算各个区间的个数,除以总面积,总面积计算的方式为:所有小分割的面积的和即:
bar(x,yy) %画出概率密度分布图
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 19:59 , Processed in 0.022850 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表