why when I use mvrnd to generate random vectors from a multivariate normal I always get small numbers in absolute value ?

조회 수: 2 (최근 30일)
Hi, why when I use mvrnd to generate random vectors from a multivariate normal I always get small numbers in absolute value (not larger than 4 or 5)? E.g.
mu=[0 0];
sigma=[1 0.4; 0.4 1];
r=10000; %number of simulated unobservables
epsilon=mvnrnd(mu,sigma,r);
Thanks

채택된 답변

Vaclav Rimal
Vaclav Rimal 2013년 12월 11일
The width of the distribution is ruled by the diagonal elements of sigma. If you want larger absolute values, try scaling sigma, e.g.
sigma = [10 4; 4 10];
  댓글 수: 2
MRC
MRC 2013년 12월 11일
Thanks, but I would like to keep the variances equal to 1 and then the covariances should be between -1 and 1.
Vaclav Rimal
Vaclav Rimal 2013년 12월 11일
편집: Vaclav Rimal 2013년 12월 11일
But when the variances are v=1.0, the standard deviations of both vectors are supposed to be sqrt(v)=1.0, so there is only a little probability that a value exceeds the number 5 you mentioned. (99.7 % should have absolute values less than 3*sqrt(v), which you can test by sum(abs(epsilon)<3).) You simply cannot have v=1.0 and large numbers in the result.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Random Number Generation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by