Monte Carlo Pi

Aproximação ao número PI: método de Monte Carlo
Distribuição aleatória de pontos.
Distribuição aleatória de pontos.

Uma das formas mais engraçadas de calcular uma aproximação ao número PI é a de considerar um círculo de raio um inscrito no quadrado de lado dois; gerar um conjunto de pontos aleatoriamente com coordenadas dentro do quadrado, e se o ponto estiver dentro do círculo é contado, no caso de cair fora não se conta. O número de pontos que cai dentro do círculo a dividir pelo número total de pontos vezes quatro é aproximadamente igual a 3.1415926... Como se pode verificar no gráfico seguinte da quantidade referida em função do número de pontos; a linhas vermelha é o valor 3.1415926...

Convergência para o valor de Pi.
Convergência para o valor de Pi.

O código seguinte em GNU/Octave faz todo o trabalho:

clf;
hold on
axis square
u=[0:.01:2*pi];
plot(cos(u),sin(u),'r-')

n=500;

x=2*rand(n,2)-1;
px=[];
j=0;
for i=1:n
  if sumsq(x(i,:))<1
    plot(x(i,1),x(i,2),'o')
    j=j+1;
    px(j)=4*j/i;
  else
  endif;
endfor;

[j i]
print -dpng "circPI.png"
clf;
hold on;
plot(px,'-')
plot([1:length(px)],pi*ones(1,length(px)),'r-')
print -dpng "circPIx.png"
Palavras chave/keywords: Pi, Monte Carlo, matemática

Criado/Created: NaN

Última actualização/Last updated: 10-10-2022 [14:26]


Voltar à página inicial.


GNU/Emacs Creative Commons License

(c) Tiago Charters de Azevedo