Loi uniforme sur ]-1,1[ avec scilab
Pilon
-
Pilone -
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!
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!
2 réponses
-
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é
-
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 ...).