Loi uniforme sur ]-1,1[ avec scilab

Pilon -  
 Pilone -
Salut tout le monde,

Je cherche un moyen de simuler simplement la loi uniforme sur ]-1,1[ avec scilab.

Avec rand on a la loi uniforme sur ]0,1[ mais je ne sais pas comment faire pour l'étendre sur ]-1,1[.

Merci!

A voir également:

2 réponses

philippe
 
Bonjour,

deux solutions à ton problème :

- une mathématique en utilisant que

"si X suit une loi uniforme sur [0,1[ alors il suffit de poser Y=2X-1 pour avoir une loi uniforme sur [-1;1["

c'est très simple à prouver, il suffit de montrer que P(a<Y<b)= (b-a)/2 pour tout a,b, dans [-1;1[ ce qui est assez direct sachant que pour X on a P(c<X<d)=d-c pour tout c,d dans [0;1[ :

P(a<Y<b)=P(a<2X-1<b)
=P(a+1<2X<b+1)
=P((a+1)/2<X<(b+1)/2)
= (b+1)/2-(a+1)/2= (b-a)/2

concrètement dans scilab ça veut dire que Y= 2*rand()-1 suit une loi uniforme dans [-1;1[ puisque rand() suit une loi uniforme dans [0;1[

-une solution purement informatique utiliser la fonction grand de scilab (help grand pour l'aide détaillée) avec l'option 'unf' :

Y=grand(100000,1,'unf',-1,1);// 10^5 essais de loi unif dans [-1;1[
histplot(10,Y)// histogramme pour vérifier l'uniformité
 
5
Pilone
 
Ok, merci Philippe pour ton explication. Je ne savais pas que l'on pouvait utiliser l'instruction grand avec ces options (l'aide est trop longue et en anglais, sa dissuade).
0
philippe
 
si l'aide est en anglais c'est que tu as choisi cette langue lors de l'installation de scilab. Regarde ce que donne la commande getlanguage() si ça ne renvoie pas quelquechose comme FR alors il faut que tu demande à scilab de repasser en français avec setlanguage ('fr'). si tu le fais avant de lancer le navigateur d'aider de scilab celui-ci ira chercher les pages d'aide en français (quand elles sont traduites ...).
0
Pilone
 
Effectivement, il fallait régler la langue sur fr pour que help grand renvoit une page en français. C'est bien plus pratique pour lire l'aide d'une bonne partie des instructions (tout n'est pas traduit malheureusement)

En tout cas je te remercie pour ton aide!
0