How Matlab compute marginals

2 visualizaciones (últimos 30 días)
Fabio Garofalo
Fabio Garofalo el 21 de Jun. de 2016
Comentada: Fabio Garofalo el 21 de Jun. de 2016
Hi, I'm computing the marginals for a given distribution (a Gaussian with a given covariance) by using the following code
clear all;
close all;
format shorte;
n=100000;
s=[[2,1];[1,3]];
x=chol(s)*randn(2,n);
figure
h=scatterhist(x(1,:),x(2,:));hold(h(1,2),'on');
xi=linspace(-10,10,1001);
plot(h(1,2),xi,1/sqrt(2*pi*s(1,1))*exp(-xi.^2/(2*s(1,1))));
figure
histogram(x(1,:),100,'normalization','pdf','facecolor','w');hold on;
plot(xi,1/sqrt(2*pi*s(1,1))*exp(-xi.^2/(2*s(1,1))));
however it seems that the actual x-marginal does not coincide with the theoretical one, that for the case I'm considering is a probabilistic Gaussian with zero mean and sqrt(s(1,1)) standard deviation.
Am I wrong or there is something else?
Thanks in advance, F
  1 comentario
Fabio Garofalo
Fabio Garofalo el 21 de Jun. de 2016
I guess I've found the error. It must be
x=chol(s)'*randn(2,n);
now the things seem to be satisfactory. I've checked with
cov(x(1,:),x(2,:))
and it is ok.

Iniciar sesión para comentar.

Respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by