Clear Filters
Clear Filters

How Matlab compute marginals

3 views (last 30 days)
Fabio Garofalo
Fabio Garofalo on 21 Jun 2016
Commented: Fabio Garofalo on 21 Jun 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 Comment
Fabio Garofalo
Fabio Garofalo on 21 Jun 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.

Sign in to comment.

Answers (0)

Categories

Find more on Spline Postprocessing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!