normal distribution from data
显示 更早的评论
is there a more efficient way to derive a normal distribution.
% Deriving Normal Distribution From the Data
x=0:1:12;
m=mean(Data);
s=std(Data);
p=(1/(s*sqrt(2*pi)))*exp((-(x-m).^2)/(2*s^2));
5 个评论
Image Analyst
2013-9-10
Looks pretty efficient to me. Just how much speed do you need? By the way, I assume you know your x is not a normal distribution.
harley
2013-9-10
Image Analyst
2013-9-10
编辑:Image Analyst
2013-9-10
Just plot it and look at it: plot(x). Does it look like a Gaussian shape to you? No, it's a triangle, so it's a uniform distribution - a box, a flat distribution. You have equal probabilities of having any number. No numbers are more likely than any others - that is unlike what you'd see in a Gaussian Distribution.
Roger Stafford
2013-9-10
Image Analyst, it isn't 'x' that Harley is stating has the normal distribution. It is 'data' which isn't being specified here. The 'x' is the independent variable in the hypothesized normal distribution. A plot of
plot(x,p)
would give the theoretical normal distribution pdf values as functions of x for the mean and std which have been computed from 'data'.
Image Analyst
2013-9-10
You're right - I messed up and thought that x was also the Data.
采纳的回答
更多回答(2 个)
Shashank Prasanna
2013-9-10
编辑:Shashank Prasanna
2013-9-10
Since this is normal distribution, the mean and std of the data are the maximum likelihood estimates for the normal distribution from the data.
Once you have the PDF, like you have in the last line of code as 'p', you could plot the PDF using x to span -4*sigma to +4*sigma:
x = -4*s:0.01:4*s
p=(1/(s*sqrt(2*pi)))*exp((-(x-m).^2)/(2*s^2));
plot(x,p)
You could use a wider range if you wanted to.
Roger Stafford
2013-9-10
0 个投票
You might try the Statistics Toolbox function 'normplot' to see how closely your 'data' comes to a normal distribution.
类别
在 帮助中心 和 File Exchange 中查找有关 Inverse Gaussian Distribution 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!