Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Heitetään pisteitä satunnaisesti neliölle
- # Osa pisteistä osuu neliön sisällä olevalle neljännesympyrälle
- # Lasketaan tuloksista Piin arvo
- # Juhani Kaukoranta 25.3.2019
- import numpy as np
- import time
- def monte_carlo_pi(n):
- accum = 0
- # pisteiden x-koord neliöt ekarivillä, y-koord neliöt tokarivillä
- xy= np.random.random_sample((2,n))**2
- # x**2 + y**2 vektoriin xy
- # neliösummat vektoriin squaresums
- squaresums = xy[0] + xy[1]
- # accum sisältää ympyräneljännekseen osuvien pisteiden lukumäärän
- accum = np.sum(squaresums<1)
- return 4.0*accum/n
- pisteita = int(input("Kuinka monta pistettä arvotaan "))
- time0 = time.perf_counter()
- print("Pii = ",monte_carlo_pi(pisteita))
- time1 = time.perf_counter()
- print("Aikaa kului ",time1-time0," sekuntia")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement