Simulere pilkast med Python
La oss tenke oss av vi kaster piler på en plate som er 1×1 meter stor, og vi kaster med bind for øynene. Allikevel så treffer alle pilene platen. Dersom vi tegner et rektangel på denne platen, så er det en viss sannsynlighet for at en bestemt pil treffer dette rektangelet. Dette kan vi regne ut, men i denne aktiviteten så tenkte jeg av vi skal utforske denne sannsynligheten ved å gjennomføre forsøk.
Vi lar python kaste piler tilfeldig, og så sjekker vi om pila traff rektangelet. Vi registrerer alle eventuelle treff, og tilslutt så finner vi den relative frekvensen for treff og bom, og ser om vi kan argumentere for om dette samsvarer med sannsynligheten.
Dersom du vil se et større bilde av figuren til høyre, kan du bare klikke på det 🙂
# Vi simulerer pilkast på et kvadrat, og beregner omtrent sannsynlighet for å treffe et bestemt rektangel
from random import random
ANT = 10000
#-----------------------
teller = 0
for kast in range(ANT):
x = random() * 100
y = random() * 100
if x > 70 and x < 90 and y > 40 and y < 90:
teller = teller + 1
print(teller, "/", ANT, ":", teller*100/ANT, "%")
Oppgave til etterarbeid!
I denne aktiviteten har vi simulert pilkast med python-kode, og vi har testet om pilen traff innenfor det rosa rektangelet.
La oss gjennomføre et likt forsøk, men denne gangen så lar vi den rosa figuren være en kvart sirkel. Hvordan kan vi måle om treffpunktet er innenfor kvartsirkelen i denne figuren?
TIPS! Dersom vi tegner kvadratet fra origo, og origo er sentrum i kvartsirkelen, så kan vi benytte koordinatene som kateter, og beregne hypotenusen fra origo. Dersom hypotenusen er større enn 100, så er punktet en bom.
DigitAbel – for dypere læring