飞道的博客

MATLAB画分布统计以及正态分布拟合图

318人阅读  评论(0)

假设现有一个名为data的1x500的数据,这里我们使用normrnd随机生成一个正态分布的数据

data=normrnd(0,5,[1,500]);

可以使用histogram函数对齐分布进行绘制,这里我们把它分成30个bar,可以粗略看出接近正态分布


  
  1. histogram(data, 30);
  2. xlim([- 16, 16]);

如果想画的是频率图而不是频数图可以使用下面的代码

histogram(data,30,'Normalization','probability');

对其进行正态分布拟合,有两种方法可以选用

方法一是直接使用histfit函数,histfit函数会直接生成一个带分布直方图的正态分布拟合


  
  1. histfit(data, 30);
  2. xlim([- 16, 16]);

方法二则是根据数据的均值和标准差直接拟合,使用函数normpdf生成一个对应的正态分布概率密度函数,乘以数据个数并把它画在上面的图里面,可以看到基本是一致的。这种方法可以单独画曲线,相对于方法一比较灵活。


  
  1. hold on
  2. x=- 16: 0. 001: 16;
  3. fx=normpdf(x,mean(data),std(data));
  4. plot(x,fx* 500,'g-');

 


转载:https://blog.csdn.net/weixin_42623330/article/details/113243367
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场