% TeXgraph version 1.94 % Fenetre Xmin Xmax Ymin Ymax Xscale Yscale 100#0#4#0#4#2#2## % Marges gauche droite haut bas cadre gestion_couleur comptgraph 101#0.5#0.5#0.5#0.5#0#1#4## % Affectation des Variables theta et phi et type de perspective 18##[theta:=0.5236, phi:=1.0472,OriginalCoord(1),IdMatrix(),IdMatrix3D(), ModelView(ortho)]## % Déclaration des Macros 16#Monte_Carlo#[ { Monte_Carlo(a, b, N) a : borne inférieure de l'intégrale b : borne supérieur de l'intégrale N : nombre de points aléatoire à produire Remarque : la fonction à intégrer est stockée dans la macro f} { On évalue le Max de la fonction sur [a,b] } $max := \f(%1), $pas:= (%2-%1)/100, for x from %1+pas to %2 step $pas do $y:=\f(x), if y>$max then $max:=y fi, od, {Algorithme de Monte-Carlo} $H:= $max+0.5, $L:=%2-%1, Aire := 0, N:=%3, DotScale:=0.2, for j from 1 to N do $x:=Rand()*L+%1, $y:=Rand()*H, if ($y<=\f($x)) then Inc(Aire,1), Color := blue, else Color := cyan, fi , Point($x+i*$y), od, Aire:=(Aire/N)*$H*$L, { Affichage du résultat } Color:=red, Ligne([%1, %2, %2+i*$H, %1+i*$H],1), FillStyle := full, $x:=(%1+%2)/2, $y:=$max/2, $H:=1, $L:=0.125, Ligne([$x-$H+i*($y-$L), $x+$H+i*($y-$L), $x+$H+i*($y+$L), $x-$H+i*($y+$L)],1), Label($x+i*$y,["Aire = ",@StrNum(Aire)]) ]## 16#f#[ 2*exp(-%1)*sin(2*%1)+1 ]## % Déclaration des Eléments graphiques % Axes (Axes) 18##[Arrows:=1,xylabelpos:=1]## 1#Axes#[0+i*(0),1.5707963267949+i*(1),2+i*(2)]#0#0## % Courbe (Courbe cartés.) 18##[Width:=8,Arrows:=0,tMax:=3.1416]## 21#Courbe#f(x)#5## % Aire (Utilisateur) 18##[Width:=4,tMin:=-5,tMax:=5,DotScale:=1+i]## 14#Aire#Monte_Carlo(0,pi,2000)#-1##