假设现有一个名为data的1x500的数据,这里我们使用normrnd随机生成一个正态分布的数据
data=normrnd(0,5,[1,500]);
可以使用histogram函数对齐分布进行绘制,这里我们把它分成30个bar,可以粗略看出接近正态分布
-
histogram(data,
30);
-
xlim([-
16,
16]);
如果想画的是频率图而不是频数图可以使用下面的代码
histogram(data,30,'Normalization','probability');
对其进行正态分布拟合,有两种方法可以选用
方法一是直接使用histfit函数,histfit函数会直接生成一个带分布直方图的正态分布拟合
-
histfit(data,
30);
-
xlim([-
16,
16]);
方法二则是根据数据的均值和标准差直接拟合,使用函数normpdf生成一个对应的正态分布概率密度函数,乘以数据个数并把它画在上面的图里面,可以看到基本是一致的。这种方法可以单独画曲线,相对于方法一比较灵活。
-
hold
on
-
x=-
16:
0.
001:
16;
-
fx=normpdf(x,mean(data),std(data));
-
plot(x,fx*
500,'g-');
转载:https://blog.csdn.net/weixin_42623330/article/details/113243367
查看评论