Hello all,
Is there any built-in function in MATLAB to generate a Gaussian noise with a specific covariance matrix R (colored noise), not necessarily the identity matrix (white noise)?
Thanks

 Akzeptierte Antwort

Matt J
Matt J am 23 Mai 2014
Bearbeitet: Matt J am 23 Mai 2014

0 Stimmen

There's MVRND, if you have the Stats Toolbox.
Otherwise, you can just do
sqrtm(R)*randn(size(R,2),1);

5 Kommentare

S. David
S. David am 23 Mai 2014
Bearbeitet: S. David am 23 Mai 2014
Both are equivalent right? Because using the first method I have an error saying R must be symmetric semi-positive. It seems to be symmetric but I am not sure about semi-positive.
What is the difference between sqrt® and sqrtm®? Don't they both give the same results?
Matt J
Matt J am 23 Mai 2014
It seems to be symmetric but I am not sure about semi-positive.
All covariance matrices are positive semi-definite. R therefore has to be psd in order to be a legitimate candidate.
What is the difference between sqrt® and sqrtm®?
sqrt is the elementwise square root and sqrtm is the matrix square root.
S. David
S. David am 23 Mai 2014
I am computing R numerically. May be there is some precision errors to be perfectly symmetric.
Anyway, I am using the second method.
Thanks for your answer.
Matt J
Matt J am 24 Mai 2014
Bearbeitet: Matt J am 24 Mai 2014
If R is close to singular, it can be mis-perceived as having some negative eigenvalues (and hence as not being psd) due to numerical imprecision.
However, if your R is close to singular, it really means you're taking the covariance of have some redundant variables - some of them are approximately linear combinations of the others - and should get rid of them.
S. David
S. David am 24 Mai 2014
Bearbeitet: S. David am 24 Mai 2014
I have two matrices, and I found the eigenvalue of both of them: one of them has all positive eigenvalues, but the other has some negative eigenvalues. I guess the second one is close to singular as you said. But even when I try the first one in mvrand(Mu,Sigma), I still get the same error.
For the matrix with negative eigenvalues, how to eliminate the redundant variables?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Eigenvalues & Eigenvectors finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 23 Mai 2014

Bearbeitet:

am 24 Mai 2014

Community Treasure Hunt

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

Start Hunting!

Translated by