Matlab绘制正态分布概率密度函数

时间:2012-11-20 00:52:22

标签: matlab statistics probability normal-distribution

我是统计学的新手。我有一个判别函数:

g(x)= ln p(x | w)+ lnP(w)

我知道它有正常的分布。我知道mü和sigma变量。如何在Matlab上绘制它的pdf函数?

这是一个对话:How to draw probability density function in MatLab?但是我不想使用任何Matlab工具箱。

3 个答案:

答案 0 :(得分:3)

使用normpdfmvnpdf获取多元正态分布:

mu = 0;
sigma = 1;

xs = [-5:.1:5];
ys = normpdf(xs, mu, sigma);
clf;
plot(xs, ys);

答案 1 :(得分:0)

MATLAB绘制数据向量,因此您需要制作X向量和Y向量。

如果我有一个函数,比如x ^ 2,我可能会这样做:

x = -1:.01:1; %make the x-vector
y = x.^2; %square x
plot(x,y);

你知道PDF的功能(y = exp(-x。^ 2. / sigma ^ 2)。* 1 / sqrt(2 * pi * sigma ^ 2)),所以你要做的就是make x-vector,并绘制出去!

答案 2 :(得分:0)

根据@kamaci的评论,此问题使用@Pete's answer给出了完整的答案。

为避免使用MATLAB工具箱,只需直接绘制Normal probability density function (PDF)

mu = 12.5;      % mean
sigma = 3.75;   % standard deviation
fh=@(x) exp(-((x-mu).^2)./(2*(sigma^2)))*(1/sqrt(2*pi*(sigma^2)));  % PDF function
X = 0:.01:25;
p = plot(X,fh(X),'b-')

PDF for Normal(12.5,3.75)