Bonjour a tous, en fait j'ai réalisé un petit programme en Matlab utilisant la méthode de Monte Carlo pour trouver une estimation de Pi, en creant des couples aleatoires et en regardant s'ils atterrissent dans un cercle de rayon 1 ou pas (en gros). Grace a ca on peut approximer (plus ou moins bien) Pi.
Voici mon programme:
En fait ca fonctionne mais je voudrais que le programme affiche en plus des résultats, un graphique montrant le cercle inscrit dans le carré de coté 1, avec tous les points générés et où ils "atterrissent" (en supposant qu'il n'y en ait pas trop a generer, sinon faire un truc plus global). Voila je ne maitrise pas vraiment les fonctions graphiques de matlab j'espere que vous pourrez m'aider .Code:% Estimation de Pi par la Methode de Monte Carlo NbColMat = 1000; % On choisit 1000, on peut choisir un nombre superieur nmaxboucles = input('Combien de boucles (de 1000 nombres aleatoires chacunes) '); NbTot = 0; %Initialisation a 0 NbInter = 0; %Initialisation a 0 for nboucles=1:nmaxboucles X = rand(1,NbColMat); % Genere 1000 points XY aleatoires Y = rand(1,NbColMat); R = X.^2 + Y.^2; % Trouve le rayon associe aux 1000 points aleatoires XY Verif = R<=1.; % Prend la valeur 1 si Vrai, 0 si Faux, pour chaque element NbInter = NbInter + sum(Verif); % Nombre total de points generes a l'interieur du cercle end NbTot = nmaxboucles*NbColMat; % Nombre total de points generes disp(['Points Generes: ' num2str(NbTot)]); disp(['Points Dans Le Cercle: ' num2str(NbInter)]); approxpi = 4*NbInter/NbTot; % Le rapport (Points a l'interieur/Total de points generes) tend vers pi/4 erreurpi = 4*sqrt(NbInter)/NbTot; disp([' Approximation De Pi = ' num2str(approxpi) ... ' Avec Une Erreur De ' num2str(erreurpi)]);
PS: ici on voit bien:
Merci!
-----