Dans matlab, il est facile de générer un vecteur aléatoire normalement distribué avec une moyenne et un écart-type. À partir de l'aide randn:génération de vecteur aléatoire normalement distribué avec matrice de covariance
Générer des valeurs à partir d'une distribution normale avec la moyenne 1 et l'écart standard 2. r = 1 + 2. * randn (100,1);
Maintenant, j'ai une matrice de covariance C et je veux générer N (0, C).
Mais comment pourrais-je faire cela?
A partir de l'aide de randn: Génère des valeurs à partir d'une distribution normale bivariée avec un vecteur moyen spécifié et une matrice de covariance. mu = [1 2]; Sigma = [1,5; .5 2]; R = chol (Sigma); z = repmat (mu, 100,1) + randn (100,2) * R;
Mais je ne sais pas exactement ce qu'ils font ici.
Quelle partie ne comprenez-vous pas? 'mu' est le vecteur moyen (dans votre cas 0, laissez-le ainsi),' Sigma' est la matrice de covariance, et ils génèrent 100 paires de nombres aléatoires. – Donnie
Je ne comprends pas la partie repmat. Est-il également possible de le faire de cette façon: chol (C, 'inférieur') + randn (N, 1); avec C la matrice de covariance – Derk
Désolé, je pense que je comprends maintenant. Le repmat est utilisé pour construire une matrice moyenne pour 100 paires de nombres aléatoires. – Derk