g(v):=3*v^2-2*v^3; u:=evalf(rand(2^30)/2^30); j:=0.1; while (x> g(j)){j:=j+0.1;} x:=j-0.05;on peut aussi écrire :
g(v):=3*v^2-2*v^3; u:=evalf(rand(2^30)/2^30); solve(g(x)=u,x)Ainsi, si
y:=evalf(rand(2^30)/2^30); j:=0.1; while (y> g(j)){j:=j+0.1;} y:=(j-0.05)*x;
Si
x [
;1], et y
[0;x], la probabilité d'avoir un triangle
est que :
y [x -
;
].
Cherchons la probabilité d'avoir :
y [x -
;
], sachant que
x
[
;1], et y
[0;x].
On a :
Proba(y [x -
;
]) = Fx(
) - Fx(x -
) = F(
x) - F((2x - 1)/2x) =
Pour le calcul théorique de la probabilité d'avoir un triangle, on utilise
la symétrie : en effet, on a soit
x [
;1] et
y
[0;x] soit,
x
[0;
] et y
[x;1] (donc on fait le calcul de
cette probabilité lorsque
x
[
;1] et on multiplie par 2 cette
probabilité pour avoir le résultat).
Donc la probabilité d'avoir un triangle, avec ce choix de découpage est :
2f (x)(F(
x) - F((2x - 1)/2x))dx
Puisque
F(x) - F((2x - 1)/2x) =
, et que
f (x) = 6x(1 - x), on tape :
normal(6*int((1-x)*(-2*x^
3+3*x-1)/(x^
2),x,1/2,1))
On obtient :
-24*log(1/2)-16
et avec la commande evalf on obtient :
0.635532333439
C'est à dire :
6dx = (- 24 ln(1/2) - 16)
0.635532333439
Voici le programme de simulation avec Xcas
spagb(n):={ //integrate(6*x*(1-x)*(g(0.5/x)-g(1-0.5/x)),x,0.5,1) local x,y,a,b,t; t:=0; g(u):=3*u^2-2*u^3; //Ab:=[]; for (k:=1;k<=n;k++){ x:=evalf(rand(2^30)/2^30); j:=0.1;while (x> g(j)){j:=j+0.1;} x:=j-0.05; y:=evalf(rand(2^30)/2^30); j:=0.1;while (y> g(j)){j:=j+0.1;} if (x>0.5){ y:=(j-0.05)*x; a:=y; b:=x-y; } else { y:=(j-0.05)*(1-x)+x; a:=x; b:=y-x; } //Ab:=append(Ab,[x,y]); if ((a<0.5) and (b<0.5) and (a+b>0.5)) { t:=t+1; } } return(evalf(t/n)); };