J'ai besoin de connaître un moyen d'avoir une distribution gaussienne de 50 nombres. Je connais la bibliothèque Boost qui génère des nombres aléatoires. Dans mon cas, je n'ai pas besoin de hasard, j'ai besoin de la distribution normale de 50 numéros. Un moyen d'avoir ça? Merci.Fonction de distribution normale (gaussienne) en C++
Répondre
Si j'ai bien compris votre question, vous cherchez la distribution normale estimée, qui est pour la moyenne de l'échantillon et la variance de l'échantillon .
Le premier est calculé comme suit:
et celui-ci en tant que:
La moyenne de l'échantillon peut être utilisé en tant que valeur attendue et la variance de l'échantillon comme dans la distribution gaussienne:
Si vous voulez plus d'information, consultez:
- http://mathworld.wolfram.com/SampleVariance.html
- http://en.wikipedia.org/wiki/Sample_mean_and_sample_covariance
J'espère avoir répondu à votre question;)
Je pense que l'OP demandait un générateur de nombres aléatoires, dans lequel les nombres aléatoires ne sont pas distribués uniformément rand() en C) mais sont gaussiennes distribuées.
Cette courte routine adaptée de "Recettes numériques en C" (Press et al, 1992) peut être utile:
double grand() {
double r,v1,v2,fac;
r=2;
while (r>=1) {
v1=(2*((double)rand()/(double)RAND_MAX)-1);
v2=(2*((double)rand()/(double)RAND_MAX)-1);
r=v1*v1+v2*v2;
}
fac=sqrt(-2*log(r)/r);
return(v2*fac);
}
... assurer que les #includes pertinents sont présents pour les fonctions mathématiques et en rand , et que srand (temps (NULL)) ou similaire a été appelé à graine de manière appropriée le C rand() RNG.
Quelle est la moyenne et l'écart-type de la distribution normale dans cette fonction? – Rasoul
La moyenne est zéro et l'écart type est de un. :-) – jcollomosse
Au 11 C++ il y a une distribution normale (gaussienne) disponible dans la bibliothèque standard:
http://www.cplusplus.com/reference/random/normal_distribution/
La valeur moyenne et l'écart type sont passés comme arguments lors de sa création. Le lien ci-dessus fournit un bon exemple:
// normal_distribution
#include <iostream>
#include <random>
int main()
{
const int nrolls=10000; // number of experiments
const int nstars=100; // maximum number of stars to distribute
std::default_random_engine generator;
std::normal_distribution<double> distribution(5.0,2.0);
int p[10]={};
for (int i=0; i<nrolls; ++i) {
double number = distribution(generator);
if ((number>=0.0)&&(number<10.0)) ++p[int(number)];
}
std::cout << "normal_distribution (5.0,2.0):" << std::endl;
for (int i=0; i<10; ++i) {
std::cout << i << "-" << (i+1) << ": ";
std::cout << std::string(p[i]*nstars/nrolls,'*') << std::endl;
}
return 0;
}
- 1. distribution identique identiquement (iid) matrice normale gaussienne
- 2. C++: générer une distribution gaussienne
- 3. Conversion d'une distribution uniforme en distribution normale
- 4. Algorithme de distribution sur * partie * d'une distribution normale
- 5. ajustement de la distribution gaussienne aux données
- 6. Créer une image qui suit une distribution gaussienne en utilisant OpenCV C++
- 7. C++ TR1: comment utiliser la distribution normale?
- 8. Générer un graphe de distribution normale en utilisant C#
- 9. Python 3.2 statistics distribution normale
- 10. Distribution normale R. Trouver P
- 11. générateur de valeur aléatoire avec distribution normale pour objectif-c
- 12. Fonction de base gaussienne
- 13. fonction de densité multivariée normale en C++
- 14. distribution normale multivariée avec Math.net
- 15. test de distribution normale par lots
- 16. distribution normale biais dans scipy
- 17. Fonction hypergéométrique gaussienne 2F1
- 18. Test si une distribution de données suit une distribution gaussienne dans MATLAB
- 19. Déviation de couleur aléatoire avec distribution normale
- 20. Graphique ggplot2 et QQ pour la distribution non gaussienne
- 21. temps OHCL Série - Anomaly Detection avec multivariée gaussienne distribution
- 22. Création du tracé de contour d'une distribution gaussienne
- 23. Générateur de distribution normale aléatoire rapide
- 24. transformer une distribution uniforme dans une distribution normale
- 25. skew distribution normale en cas multivarié en utilisant matlab
- 26. python 3.1 - Création d'une distribution normale
- 27. Comment dessiner une distribution normale dans R
- 28. Superposer une distribution normale sur un histogramme
- 29. Créer une matrice (mx n) avec une distribution aléatoire gaussienne
- 30. moyenne et sd dans R (distribution normale)
J'ai enlevé l'étiquette de pdf parce que la question n'est pas liée à pdf. – iPDFdev
La fonction de densité de probabilité (PDF) est la distribution normale. – user2519605