Bonjour,
je suis étudiant en 2ème année de sciences physiques.
Au dernier cours on a parlé de distribution gaussienne, pour moi ca était trop vite et je n'ai pas su comprendre le programme qu'on a écrit....

Voici le programme.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <cstdlib>
#include <cmath>
 
using namespace std;
 
double uniform (float a, float b) {
	return a+(float) rand()/RAND_MAX*fabs(b-a);  
}
 
double expo (double a) {
	double x = uniform(0,1);
	double R;
	while (x==1) {
		x = uniform(0,1);
	}
 
	R = -a*log(1-x);
	return R;
}
 
int main () {
	int N = 50;
	srand (15);
	for (int i = 0; i<N; i++) {
	cout << rand () << endl;	
	}
 
	return 0;
}
En un premier temps, si je comprends bien, on définit uniform, qui prend des nombres aléatoires et qui les distribue de manière uniforme. Par contre pour le expo j'ai vraiment du mal à voir ce qui se passe....

Merci d'avance pour votre aide !