bimodal Gaussian distribution function

37 次查看(过去 30 天)
Hi
Greetings. I have a simple problem and will appreciate your help.
I am trying to plot the bimodal Gaussian distribution. The space is [0:0.1:20] and there are two means in one dimension.
I expect to obtain two peaks (one is an image of course) at the means [6;14], however, that's not what I get. I think I am going wrong somewhere, but am unable to figure out.
Yeah, I neglected the covariance matrix and the normalization constant, because I am normalizing at the complete function in the next step.
My implementation is here
mu=[6;14];
space=[0:.1:20];
x=[space;space];
L=exp(-((x-repmat(mu,1,size(T,2)))'*(x-repmat(mu,1,size(T,2))))/2);
L=L/sum(sum(L));
mesh(space,space,L);
P

采纳的回答

Tom Lane
Tom Lane 2012-10-2
编辑:KSSV 2022-6-19
One more try. Check this out:
mu=[6;14];
space=[0:.1:20];
x = repmat(space,201,1);
y = repmat(space',1,201);
L = .5 * (1/(2*pi)) * exp(-.5 * ((x-mu(1)).^2 + (y-mu(2)).^2)) ...
+ .5 * (1/(2*pi)) * exp(-.5 * ((x-mu(2)).^2 + (y-mu(1)).^2));
mesh(space,space,L);
This creates arrays of x/y values so that each (i,j) index defines a point in the 2D space. Then it computes a thing L that is a mixture of two bivariate normal distributions. Their means are mirror images.

更多回答(1 个)

Tom Lane
Tom Lane 2012-9-29
Is this what you want?
F = (1/sqrt(2*pi)) * .5*(exp(-.5*(space-mu(1)).^2) + exp(-.5*(space-mu(2)).^2));
plot(space,F)
  3 个评论
Tom Lane
Tom Lane 2012-10-1
This is still not completely clear to me.This:
p1 = (1/sqrt(2*pi)) * exp(-.5*(x(1,:)-mu(1)).^2);
p2 = (1/sqrt(2*pi)) * exp(-.5*(x(2,:)-mu(2)).^2);
L = p1'*p2;
gives you a density in two-dimensional space with a single mode. Your original question specified a bimodal distribution with "two means in one dimension."
PChoppala
PChoppala 2012-10-1
Hmm, you are right. I think I framed the question wrong.
I meant that the dimension of the mean is a single number (one dimension) and so its pdf is a 1-d function. Its not that both means lie in one space.
I want a 2-d function, one for pdf of mu(1) along x-axis and another for pdf of mu(2) along y-axis.
Along the x-axis, we find 6 and 14. Similarly on y-axis.
So I suppose the pdf in the joint space should have two peaks, one at (6,14) and the other at (14,6).
Oh yeah, to make it more clear, if I have 3 means, the joint space of the resulting pdf 'F' has to be 3-d and so on.
I am looking for a Matlab implementation that can do this.
I am not sure whether this idea of two peaks is correct or not, but that was what I was told.
Cheers P

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by