MATLAB画分布统计以及正态分布拟合图
假设现有⼀个名为data的1x500的数据,这⾥我们使⽤normrnd随机⽣成⼀个正态分布的数据
matlab直方图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-');
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论