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
0 个评论
采纳的回答
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
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
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."
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!