Några experiment med normalfördelningen

I det här inslaget ska vi se på ett exempel på hur en normalfördelning kan behandlas. Traditionellt har vi i finländska studentexamina varit tvungna att använda numeriska tabeller i dessa exempel. Här är ett alternativ, om inte annat så för kontrollens skull.

Vi gör detta som ett exempel:

Anta att kaffe i ett rosteri förpackas i påsar med massan 1 kg. Ett stickprov visar att påsarnas innehål är normalfördelat med massan 1002 g och normalfördelningen 9 g. Hur många påsar i en sats på 5000 stycken, kan vi anta vara ”för lätta”, dvs ha en massa på mindre än 1 kg?

Sarta en räknarskärm och tryck på menu-tangenten. Följ sedan bilderna:

Ca 41 % av påsarna ser ut att vara för lätta. Antalet säckar:

Ca 2100 påsar kan förväntas vara för lätta.

Kan man förklara det här på ett mera visuellt sätt!

Vi experimenterar vidare: (med en ny fil med namnet NF.tns som lagras i boxen till vänster).

Vi inleder med att starta en Anteckningar-skärm:

Resultatet är numeriskt och en aning inexakt, men idén torde vara klar. Det går bra att mata in andra värden för medeltal och standardavvikelser på Anteckningar-skärmen och sedan anpassa Graf-skärmen på nytt.

Annonser

Kombinationer och permutationer

Vi tar det här via några praktiska exempel, och låter den strikta teorin behandlas under matematiklektionen.

Exempel 1

Du har 12 olika böcker i en bokhylla. På hur många olika sätt kan du rada om dem i hyllan?

Enligt produktprincipen kan första boken väljas på 12 sätt OCH andra då på 11 sätt OCH tredje på 10 sätt osv. På borde antalet olika variationer vara

12!=12\cdot 11\cdot 10\cdot ...\cdot 1

Denna räkneoperation, kallad ”12 fakultet”, utför räknaren på följande sätt:

Var hittar man !-tecknet?

Det finns några olika möjligheter.

Man kan t.ex. använda sig av menu-tangenten:

På bilden ovan ses också hur man kan fortsätta till kombinationer och permutationer/variationer. Vi ser på några exempel till.

På hur många sätt kan böckerna radas upp om vi bara väljer 4 av dem?

Bilderna indikerar hur permutationskommandot fungerar.

Vi tar ytterligare ett exempel:

På hur många sätt kan 4 böcker av 12 radas i en hylla, utan att ordningsföljden spelar någon roll.

Det här betyder att raden ABCD, där A, B, C och D är de enskilda böckerna, är samma kombination som t.ex. BADC.

Logiken är nu:

4 av 12 kan väljas på 12*11*10*9 olika sätt, men när dessa är valda. Sedan kan man placera om dessa på 4! olika sätt. Förhållandet på bilden ger antalet kombinationer!

Sedan en Anteckningar-skärm. Observera följande:

Man får alltså fram definitionerna för vad termerna kombination och permutation/variation står för!

Ett hasardspel med tärning + en simulation av spelet

Bilderna förklarar själva problemet. Filen finns i BOX-verktyget, programarkivet. Namn: Väntevärde.tns.

Sedan simulerar vi spelet med ett  program

Vi tar oss en titt på programmet:

Define väntevärde()=
Prgm

Local vv,n,i,re                            Variablerna definiers som variabla

0→vv                                            Variabeln vv visar det förväntade värdet på vinst/förlust

Request ”Antal kast”,n            Antal kast fastställs

For i,1,n                                       En loop initieras

re:=int(6*rand())+1                  Tärningen ”kastas”. Resultat = re

vv-1.5→vv                                    Spelinsatsen betalas

If mod(re,2)=1 Then                Udda/jämnt kollas. Här udda. Obs hur mod-kommandot används!

vv-2→vv                                       Spelförlust på 2 euro

EndIf                                            Slut på kollen udda

If mod(re,2)=0 Then               Udda/jämnt kollas. Här jämnt.

vv+re→vv : EndIf                      Spelvinst utbetalas.

EndFor                                        Slut på kolen jämnt

Disp vv                                        Resultatet vv visas

EndPrgm                                    Programslut

De stora talens lag

Nu ska vi undersöka ett fenomen inom sannolikhetsläran. Vid ett stort antal slumpförsök, kommer det totala resultatet att konvergera mot ett väntevärde. Om man t.ex. singlar slant tillräckligt många gånger, kommer antalet kronor att närma sig 50 % av totala antalet resultat.

Filen som här presenteras finns i BOX-rutan i arkivet Sanolikheter.

Vi simulerar detta med ett litet program. Först en förklaring på Anteckningar-skärmen. Sedan startar vi en räknarskärm. På den aktiveras ett program.

Program och funktioner matas in på en skärm med detta utseende. Med hjälp av MENU-tangenten hittar man de kommandon och kontrollstrukturer som behövs.

Programmeringsspråket är ”Texas basic”, ett enkelt programmeringsspråk utan finesser. Jag tar mig friheten att kommentera strukturen.

Define storatal()=          programmet namnges
Prgm                                  programstart

Local n,l,r                        variablerna n,l och r definieras som lokala (blir inte kvar efter körningen)

1→n

0→l

0→r                                  variablerna tilldelas startvärden (n-varvräknare, l – antal klave, r – antal krona)

{n}→ant

{0}→forh                       två listor påbörjas, ena för singlingsvarvet, andra för förhållandet mellan kronor och antalet kast

For x,1,100                    en loop på 100 kast påbörjas

augment(ant,{x})→ant        listan med antalen kast utökas kast för kast i loopen

If rand()>0.5 Then      en slumptalsgenerator används. Resultaten varierar mellan 0 och 1. Större än 0,5 – krona. 

1+r→r                            Kontroll:  om krona -antalet r ökar ett steg

Else                                  om klave

1+l→l                             antalet klave ökar ett steg

EndIf                             slut på kontrollen

augment(forh,{approx(((r)/(r+l)))})→forh          forhållandelistan uppdateras

EndFor                          slut på räkneloopen

Disp approx(((r)/(r+l)))    visa förhållandet mellan kronor och totala antalet

EndPrgm                      programslut

Tredje skärmen är en visar statistiken. Relativa antalet kronor från 0 till 100 kast visas.

Skärmen är delad. Nedanför grafen finns en liten räknarsärm. Mata in kommandot storatal() och tryck på ENTER.

Varje tryck på ENTER ger sedan en ny körning med graf.