• Register

Število pi (danes je Pi dan)

+5 votes
293 views

Zakaj tale kratka koda vrne približno pravo vrednost števila Pi?

import numpy as np
N = 100000
4.*np.sum((np.random.random(N)**2+np.random.random(N)**2) < 1)/N

>>>3.13736

Glejte aktivno kodo tukaj: https://colab.research.google.com/drive/1kLFnxDclSMTzVny51LsiIuYvF_z_J1Uv

asked Mar 14, 2018 by janko.slavic (80,720 points)

1 Answer

+6 votes
 
Best answer

Če imamo krog in kvadrat katerega stranice so enake premeru kroga, je razmerje ploščin kroga in kvadrata enako πr2/(2r)2 = π/4.

To razmerje lahko simuliramo tako, da naključno izbiramo točke znotraj kvadrata in preverjamo, če so tudi znotraj kroga. Nato točke, ki so bile znotraj kroga, delimo s številom vseh točk.

Prvo naključno število si lahko predstavljamo kot  x koordinato točke, drugo naključno število pa si lahko predstavljamo kot y koordinato točke. Nato preverimo ali ta točka leži znotraj koga, se pravi če ustreza pogoju x2+y2<r. Ker smo izbirali naključna števila med 0 in 1, smo opazovali samo prvi kvadrant (razmerje ploščin ostane nespremenjeno), ima krog radij 1.

Tako dobljeno razmerje,med ploščino kroga in kvadrata pomnožimo še z 4, da dobimo π.

answered Oct 23, 2018 by timmušič (580 points)
selected Oct 23, 2018 by janko.slavic
...