Generate Gassian Colored Noise

6 vues (au cours des 30 derniers jours)
S. David
S. David le 23 Mai 2014
Modifié(e) : S. David le 24 Mai 2014
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

Réponse acceptée

Matt J
Matt J le 23 Mai 2014
Modifié(e) : Matt J le 23 Mai 2014
There's MVRND, if you have the Stats Toolbox.
Otherwise, you can just do
sqrtm(R)*randn(size(R,2),1);
  5 commentaires
Matt J
Matt J le 24 Mai 2014
Modifié(e) : Matt J le 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 le 24 Mai 2014
Modifié(e) : S. David le 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?

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by