Overflaten til et tetraeder består av fire likesidede trekanter. De ulike sidene er markert med henholdsvis 1, 2, 3 og 4 øyne.
Vi kaster to slike "terninger". La være produktet av antall øyne på de to sidene som vender ned mot bordet.
a) Lag en oversikt over utfallsrommet til .
Løsning
Vi lager en tabell for å skaffe oversikt:
utfallsrom
1
2
3
4
1
1
2
3
4
2
2
4
6
8
3
3
6
9
12
4
4
8
12
16
Dette gir følgende utfallsrom:
b) Sett opp sannsynlighetsfordelingen til .
Løsning
Vi leser av tabellen i a) og oppgir alle sannsynlighetene i sekstendeler:
sannsynligheten i sekstendeler
1
2
3
4
6
8
9
12
16
c) Regn ut forventningsverdien, variansen og standardavviket til .
Løsning
d) Lag et program som simulerer kast med to slike tetraedre og få programmet til å regne ut gjennomsnittet, variansen og standardavviket. Sammenlikn med svarene du regnet ut i c).
Løsning
Her er to ulike måter å skrive programmet på. Kanskje har du et tredje alternativ som virker minst like godt?
python
1import numpy as np
23rng = np.random.default_rng()45N =1000006X = np.zeros(N)#en array for resultatene av kast7V = np.zeros(N)#en array for kvadratavvikene89tetra_1 =(rng.integers(1,5, size = N))#kaster den ene terningen tilfeldig10tetra_2 =(rng.integers(1,5, size = N))#kaster den andre terningen tilfeldig1112for i inrange(N):#finner produktene av de to terningene i hvert kast13 X[i]= tetra_1[i]*tetra_2[i]1415snitt =sum(X)/N #finner gjennomsnittsverdien1617for i inrange(N):#regner ut kvadratavviket i hvert tilfelle18 V[i]=(snitt-X[i])**21920varians =sum(V)/N #finner variansen21avvik = np.sqrt(varians)#regner ut kvadratavviket2223print(f"Gjennomsnittet er {snitt:.2f}, variansen er {varians:.1f}. og standardavviket er {avvik:.1f}.")
python
1import numpy as np
23N =1000004U =[1,2,2,3,3,4,4,4,6,6,8,8,9,12,12,16]#lister opp alle de mulige utfallene i rett antall5X = np.zeros(N)#en array for resultatene av kast6V = np.zeros(N)#en array for kvadratavvikene78for i inrange(N):9 X[i]= np.random.choice(U)#velger tilfeldig et utfall fra utfallsrommet og legger det i arrayen1011snitt =sum(X)/N #finner gjennomsnittet1213for i inrange(N):#regner ut kvadratavviket i hvert tilfelle14 V[i]=(snitt-X[i])**21516varians =sum(V)/N #finner variansen17avvik = np.sqrt(varians)#regner ut kvadratavviket1819print(f"Gjennomsnittet er {snitt:.2f}, variansen er {varians:.1f}, og standardavviket er {avvik:.1f}.")
Når vi kjører disse programmene mange ganger, ser vi at svarene varierer veldig lite. Vi kan få dem til å variere enda mindre ved å kjøre simuleringen flere ganger, det vil si ved å gjøre N større.
To maskiner, og , pakker lakrispastiller i esker. Antall pastiller i eska varierer noe. La være antall pastiller i eskene til pakkemaskin og være antall pastiller i eskene til pakkemaskin .
Sannsynlighetsfordelingene til og er gitt nedenfor.
Maskin :
maskin a
28
29
30
31
32
Maskin :
maskin b
28
29
30
31
32
a) Finn forventningsverdi, varians og standardavvik til og .
Løsning
b) Hvilken maskin produserer esker med minst spredning i antall pastiller?
Løsning
Standardavviket til er mindre enn standardavviket til . Det betyr at maskin produserer pastillesker med minst spredning i antall pastiller.
c) Lag et program som lar brukeren oppgi sannsynlighetsfordeling, og som så regner ut forventningsverdi, varians og standardavvik. Test programmet ved å kjøre det på maskin A og B.
Løsning
Forslag til program:
python
1import numpy as np
23X =input("Oppgi de mulige verdiene X kan ha. Skill mellom verdiene med komma.")4p_x =input("Oppgi de tilhørende sannsynlighetene. Skill med komma.")56X = X.split(",")7for i inrange(len(X)):8 X[i]=float(X[i])9X = np.array(X)1011p_x = p_x.split(",")12for i inrange(len(p_x)):13 p_x[i]=float(p_x[i])14p_x = np.array(p_x)1516e =sum(X*p_x)17v =sum((X-e)**2*p_x)1819print(f"Forventningsverdien blir {e:.2f}.")20print(f"Variansen blir {v:.2f}.")21print(f"Standardavviket blir {np.sqrt(v):.2f}.")
I linjene 3 og 4 henter vi dataene fra brukeren.
Linjene 6 og 11: Vi splitter opp informasjonen fra brukeren og legger tallene i ei liste.
Linjene 7–8 og 12–13: Vi gjør om elementene til tall.
Linjene 9 og 14: Vi transformerer til array slik at vi får mulighet til å regne med elementene.
Linje 16: Vi finner forventningsverdien.
Linje 17: Vi finner variansen.
Linjene 19–21: Vi skriver ut de tre verdiene.
Legg merke til at du må oppgi sannsynlighetene som desimaltall (med punktum som desimalskilletegn), og ikke som brøk.