Bonjour. Comme dit dans le titre j'aurais besoin de vos avis sur un devoir que j'ai composé. Les codes sont en Scilab et en C mais bon...
1) Ecrire un programme scilab permettant de simuler la loi exponentielle de paramètre lambda
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function[Y] loi_expo(lambda) rand('uniform') Y = -log(rand(1 , 1)) / lambda endfunction loi_expo(0.5)
2.1) Ecrire un programme scilab permettant de générer n variables aléatoires suivant une loi uniforma sur [a,b]
2.2) Réécrire le programme en C
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function[] aleatoires(n , a , b) k = 1 rand('seed' , getdate('s')) while(k <= n) rand(1 , 1) * (b - a) + a k = k + 1; end endfunction aleatoires(10 , 1 , 2)
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 void aleatoires(int n , int a , int b) { int i = 1; while(i <= n) { printf("%f" , (rand() / RAND_MAX) * (b - a) + a); i++; } } int main(void) { srand(time(NULL)); aleatoires(10 , 1 , 2); return 0; }
3) Écrire une fonction permettant de simuler une variable aléatoire de loi binomiale...
Là j'ai foutu n'importe quoi!
Je me rends maintenant compte que j'ai oublié quelque trucs(genre caster le retour de time en double). Mais qu'en pensez vous? Le raisonnement est-il le bon?
Partager