Distributions de probabilité des nombres aléatoires dans Matlab
Dans cette leçon, je vais expliquer comment utiliser les distributions de probabilité pour générer des nombres aléatoires.
Pourquoi changer de distributions ? Matlab vous permet de générer des nombres aléatoires en utilisant diverses distributions de probabilité (exponentielle, normale, Poisson, gamma). Le choix de la distribution dépend de ce que vous souhaitez simuler. Certains phénomènes réels sont mieux simulés avec une distribution plutôt qu'une autre.
Examinons quelques exemples pratiques.
Générez un nombre pseudo-aléatoire en utilisant la fonction rand() ou randi()
>> rand(1)
Dans ces cas, Matlab utilise la distribution uniforme par défaut où toutes les valeurs sont uniformément réparties parmi toutes les valeurs possibles.
Par exemple, générez une matrice 100x100 avec des valeurs aléatoires entre 0 et 1 et assignez-la à la variable x
Cette commande génère dix mille valeurs aléatoires.
>> x=rand(100);
Maintenant, visualisez la distribution des valeurs à l'aide d'un histogramme avec la fonction hist()
>> hist(x)
Les valeurs aléatoires que vous venez de générer sont uniformément réparties entre 0 et 1.

Note. Sur le graphique, l'axe horizontal indique les valeurs aléatoires de 0 à 1, qui est la plage de valeurs possibles. L'axe vertical mesure la fréquence à laquelle les valeurs se répètent. La fréquence est à peu près la même pour chaque valeur.
Si vous utilisez d'autres distributions de probabilité, le résultat est très différent.
La distribution exponentielle
Pour générer des nombres aléatoires en utilisant la distribution exponentielle, vous devez utiliser la fonction exprnd()
>> exprnd(1)
ans = 0.90844
Par exemple, tapez exprnd(1,3,2) pour générer une matrice 3x2 avec des valeurs aléatoires en utilisant la distribution exponentielle avec une valeur moyenne de 1.
>> exprnd(1,3,2)
ans =
1.09340 0.28265
0.10781 1.72641
0.20653 0.87235
Qu'est-ce qui change par rapport à la distribution uniforme ?
Pour comprendre, générez une matrice aléatoire 100x100 en utilisant la fonction exprnd()
>> x=exprnd(1,100,100);
Ensuite, visualisez les valeurs aléatoires que vous venez de générer à l'aide d'un histogramme de fréquences avec la fonction hist()
>> hist(x)
Dans la distribution exponentielle, les valeurs aléatoires sont concentrées au début de la plage de valeurs possibles.

Dans ce cas, les valeurs proches de zéro ou de la valeur initiale de la plage sont beaucoup plus fréquentes.
La fréquence diminue exponentiellement dans les valeurs plus élevées.
La distribution normale
Pour générer des nombres aléatoires en utilisant la distribution normale, utilisez la fonction randn()
>> randn(1)
ans = 0.85251
Par exemple, tapez randn(2,3) pour créer une matrice aléatoire 2x3
>> randn(2,3)
ans =
-0.32674 2.24641 -0.19528
-0.37856 0.13721 0.41417
Maintenant, générez une matrice 100x100 de valeurs aléatoires en utilisant la distribution normale
>> x=randn(100);
Ensuite, visualisez l'histogramme des fréquences des valeurs aléatoires à l'aide de la fonction hist()
>> hist(x)
Dans la distribution normale, les valeurs les plus fréquentes sont centrées dans la plage de valeurs possibles.

La fréquence des valeurs aléatoires diminue en s'éloignant de zéro, à la fois vers la droite et vers la gauche.
La Distribution Normale est caractérisée par une courbe en forme de cloche.
La Distribution de Poisson
Pour générer des nombres aléatoires avec la Distribution de Poisson, vous pouvez utiliser la fonction poissrnd().
>> poissrnd(1)
ans = 3
La Distribution de Poisson génère des nombres aléatoires autour d'une valeur moyenne.
Exemple. Lorsque le paramètre de la fonction poissrnd(1) est réglé sur 1, elle génère des nombres aléatoires à partir d'une distribution de Poisson avec une valeur moyenne de 1.
Par exemple, vous pouvez taper poissrnd(5,2,3) pour créer une matrice aléatoire 2x3 composée de valeurs autour de la valeur moyenne de 5.
>> poissrnd(5,2,3)
ans =
3 7 6
5 2 2
Vous pouvez également générer une matrice aléatoire 100x100 de valeurs autour de la valeur moyenne de 5.
>> x=poissrnd(5,100,100)
Ensuite, vous pouvez afficher l'histogramme des fréquences à l'aide de la fonction hist().
>> hist(x)
Dans la Distribution de Poisson, les valeurs aléatoires sont généralement concentrées autour de la valeur moyenne de 5.

La Distribution Gamma
Pour générer des nombres aléatoires en utilisant la Distribution Gamma, vous pouvez utiliser la commande randg().
>> randg(1)
ans = 2.5621
Par exemple, vous pouvez taper randg(100,2,3) pour produire une matrice aléatoire de 2x3 autour de la valeur centrale de 100.
>> randg(100,2,3)
ans =
101.843 98.346 87.956
93.809 99.350 93.122
Vous pouvez également générer une matrice aléatoire de 100x100 avec la Distribution Gamma autour de la valeur centrale de 5.
>> x = randg(5,100,100)
Ensuite, vous pouvez afficher l'histogramme des fréquences en utilisant la fonction hist().
>> hist(x)
Dans la Distribution Gamma, les valeurs proches de la valeur centrale sont plus fréquentes.

En utilisant ces distributions de probabilité dans MATLAB, vous pouvez générer des nombres aléatoires avec diverses caractéristiques.
Ces fonctions peuvent être utilisées pour générer des valeurs aléatoires uniques, des vecteurs ou des matrices composées de valeurs aléatoires.
ChatGPT can make mistakes. Consider checking important information.