Bonjour,
Je génère une matrice symétrique définie positive, comme suit:
Mais quand je veux l'utiliser en tant que matrice de covariance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 P=10;N=1000; cr= rand(P,P)-0.5; % éléments extra diago cr= cr .* (1- diag(nan(P,1))); cr(isnan(cr))= 1; % 1 sur la diago cr= (cr + cr')/2; % symétrisation
J'obtiens l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part x= mvnrnd(zeros(P,1)',cr,N);
La fonction cholcov() ne la valide pas comme un matrice de covariance.Error using ==> mvnrnd at 118
SIGMA must be a symmetric positive semi-definite matrix.
Êtes vous d'accord pour affirmer que cr est bien une matrice de corrélation ?
Ais-je raté quelque chose ? Voyez vous un moyen de générer une matrice acceptée par cholcov() ?
Merci d'avance
Partager