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
1 2 3 4 5 6 | 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]
1 2 3 4 5 6 7 8 9 10 | 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) |
2.2) Réécrire le programme en C
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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?
+0
-0