How Matlab compute marginals

1 次查看(过去 30 天)
Fabio Garofalo
Fabio Garofalo 2016-6-21
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 个评论
Fabio Garofalo
Fabio Garofalo 2016-6-21
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.

请先登录,再进行评论。

回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by