STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. Matematisk statistik Anders Björkström

Relevanta dokument
Instruktion för laboration 1

JavaScript del 3 If, Operatorer och Confirm

Stokastiska processer och simulering I 24 maj

Instruktion för laboration 1

Sannolikheten att vinna ett spel med upprepade myntkast

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

MMA132: Laboration 2 Matriser i MATLAB

4 Diskret stokastisk variabel

Lotto, ett skicklighetsspel!

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet Per-Erik Isberg. Laboration 1. Simulering

Föreläsning 11. Slumpvandring och Brownsk Rörelse. Patrik Zetterberg. 11 januari 2013

Matematikcentrum 1(7) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs HT2007. Laboration. Simulering

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

Så spejlar diu. Allt du behöver veta för att sätta lite guldkant på vardagen.

Smart insatsplan. Bifogat den här artikeln finns en enkel A4 där du kan bokföra insatsplanens spel. Använd den!

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

(a) Avgör om A och B är beroende händelser. (5 p) (b) Bestäm sannolikheten att A inträffat givet att någon av händelserna A och B inträffat.

Första sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade

Exempelprov. Matematik Del A, muntlig del. 1abc

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Datorövning 1 Fördelningar

Kontrollera att följande punkter är uppfyllda innan rapporten lämnas in: Första sidan är ett försättsblad (laddas ned från kurshemsidan)

Copema Supertoto, manual

Matriser och vektorer i Matlab

bli bekant med summor av stokastiska variabler.

Demonstration av laboration 2, SF1901

Matematikcentrum 1(6) Matematisk Statistik Lunds Universitet MASB11 - Biostatistisk grundkurs VT2014, lp3. Laboration 2. Fördelningar och simulering

Finansiell statistik FÖRELÄSNING 11

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

DATORÖVNING 2 MATEMATISK STATISTIK FÖR D, I, PI OCH FYSIKER; FMSF45 & MASB03. bli bekant med summor av stokastiska variabler.

TAIU07 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Stokastisk geometri. Lennart Råde. Chalmers Tekniska Högskola och Göteborgs Universitet

Tentamen i matematisk statistik för BI2 den 16 januari 2009

Så spelar du Keno. Spelhandboken för både nya och rutinerade spelare

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

Artificial Intelligence

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

2D 4D. Flaskracet. strävorna

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Uppgift 1 (14p) lika stor eller mindre än den förväntade poängen som efterfrågades i deluppgift d? Endast svar krävs, ingen motivering.

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Introduktion till logik

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

Variabler och konstanter

Föreläsninsanteckningar till föreläsning 3: Entropi

Stora talens lag eller det jämnar ut sig

Mörkpoker Strategi Christian Eriksson och Mikael Knutsson Uppdaterad

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Målet för D2 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

C++ Slumptalsfunktioner + switch-satsen

(x) = F X. och kvantiler

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Uppgift 3 Vid en simuleringsstudie drar man 1200 oberoende slumptal,x i. Varje X i är likformigt fördelat mellan 0 och 1. Dessa tal adderas.

Kapitel 16: Programmering

Blandat. Föreläsning 5

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

TAIU07 Matematiska beräkningar med Matlab

Arduinokurs. Kurstillfälle 4

Datorövning 1: Fördelningar

2 februari 2016 Sida 1 / 23

1 Mätdata och statistik

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Interaktiva berättelser med Twine

TANA17 Matematiska beräkningar med Matlab

Avd. Matematisk statistik

Du kommer alltid att förlora!

Finansiell Statistik (GN, 7,5 hp,, HT 2008) Föreläsning 3

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Matriser och vektorer i Matlab

Målet för D3 är att studenterna ska kunna följande: Dra slumptal från olika sannolikhetsfördelningar med hjälp av SAS

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

Monte Carlo-metoder. Bild från Monte Carlo

Låt eleverna lösa uppgifterna med huvudräkning och sedan jämföra med resultatet av ett program, t.ex. print(6 + 4 * 3)

Övningsuppgifter kapitel 8

Tentamen MVE301 Sannolikhet, statistik och risk

Slumpförsök för åk 1-3

Tentamen MVE301 Sannolikhet, statistik och risk

Matematisk statistik 9hp Föreläsning 2: Slumpvariabel

17.1 Kontinuerliga fördelningar

Matematisk statistik 9hp Föreläsning 7: Normalfördelning

Arbeta med normalfördelningar

MAM283 Introduktion till Matlab

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 1 Mängdlära Grundläggande sannolikhetsteori Kombinatorik Deskriptiv statistik

Linjär algebra med tillämpningar, lab 1

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Introduktion till MATLAB

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

Transkript:

STOCKHOLMS UNIVERSITET 2001-10-22 MATEMATISKA INSTITUTIONEN Avd. Matematisk statistik Anders Björkström GRUNDLÄGGANDE MATLAB-TRÄNING för den som aldrig har arbetat med Matlab förut A. Matlabs allmänna egenskaper. Tag Lennart Edsbergs "Användarhandledning för Matlab version 5.3" (eller 5.2) med dig, sätt dig vid en av Mackarna i elevdatorsalen och starta Matlab. Bläddra fram till avsnitt 10 (sidan 31) och följ instruktionerna för avsnittet "Inledande laboration". Genomför i första hand delarna 1 (Matlab som kalkylator), 2 (Funktionstabeller), 3 (Grafik), 6 (Vektorer) och 8 (Matriser). Detta är de delar som vi kommer att ha mest nytta av. B. Slumptal i Matlab Vi kommer att använda Matlabs generator för slumptal.variabelnamnet rand innehåller ett slumptal från den likformiga fördelningen mellan 0 och 1. Varje gång namnet används får man ett nytt värde, och alla utfall är oberoende. Namnet randn ger ett slumptal från en normalfördelning(0,1). Pröva att skriva rand efter prompten (>>) och se vad effekten blir. Både rand och randn kan även ge matriser: Skriver man t.ex randn(2,3) så får man en matris med två rader och tre kolonner, vars alla element är oberoende och normalfördelade(0,1). Observera att randn* randn kan bli ett negativt tal! (Du inser naturligtvis orsaken till detta) C. Stokastiska processer, ett enkelt exempel Matlab är ett utmärkt program för att studera förlopp som utvecklar sig med tiden på ett slumpartat sätt. Vi går direkt till ett exempel. På ett nöjesfält finns ett spel där man får satsa ett valfritt belopp. Man kan antingen vinna eller förlora. Om man vinner får man tillbaka dubbla insatsen, annars ingenting. Chansen att vinna är 40 %. En strategi som vissa tycker är genial är den här: Vi satsar först en krona. Vinner vi då så står vi på plus, och då går vi hem nöjda. Annars satsar vi två kronor i nästa omgång. Vinner vi då så får vi 4 kronor, och eftersom vi har betalat 1+2=3 kronor i insats så har vi gått med en krona i vinst. Så länge vi inte har vunnit fördubblar vi insatsen och spelar igen. Även om chansen att vinna är mindre än hälften vid varje enskild omgång så kommer vi naturligtvis förr eller senare att vinna. Man kan ganska lätt räkna ut att efter den första vinsten har man en krona mer än man startade med. (Säg att den första vinsten kommer i den n:te spelomgången.

Då har vi sammanlagt betalat 1 + 2 + 4+... +2 n 1 kronor i insatser, vilket är lika med 2 n 1. Men vår vinst blir ju 2 n kronor, så vi har gjort en nettovinst på en krona. ) Vi har alltså hittat ett säkert sätt att vinna pengar på det här spelet!? Det farliga med den här metoden är att det skulle kunna hända att vinsten dröjer så länge att insatsen blir större än vad vi har råd att betala. Nu ska vi genom praktiska försök undersöka om detta är ett allvarligt fel med metoden. I stället för att riskera vårt eget spar använder vi Matlabs slumptalsgenerator. Vi startar med ett som är hundra tusen kronor. Skriv såhär: =100000 så lagras värdet 100 000 i variabeln. Sen ska vi betala en insats som är 1 krona, och det gör vi genom att skriva följande två tilldelningssatser: insats=1 =-insats Nu är det dags att spela. Vi har 40% chans att vinna, och om vi vinner ökar vårt med dubbla insatsen. Uttryckt med hjälp av Matlab kan vi skriva såhär: =+2*insats end När en rad börjar med ordet if så väntar Matlab tills en rad som lyder end har matats in. Då kontrolleras om påståendet som följer efter ordet if är sant. I så fall exekveras alla tilldelningssatser fram till end, annars hoppas de över. I det här fallet avgör slumpen om et kommer att öka med dubbla insatsen eller ej. Eftersom rand ger ett slumptal som är likformigt fördelat mellan 0 och 1 så är sannolikheten 40% att påståendet rand<0.4 är sant. Satserna efter ordet if utformas enligt enkla regler. Vid behov kan du läsa mer om dessa på sidan 12 i Edsberg. Om vi vinner i den här spelomgången så kommer Matlab att skriva ut det nya värdet på variabeln (100001), annars skrivs ingenting ut. För att bekräfta att et fortarande står kvar på 99999 kronor kan vi skriva vilket kommer att ge svaret = 99999

Om vi nu inte vann så ska vi fördubbla insatsen, betala en ny insats och spela igen. Vi skriver först de här båda raderna: och spelar sedan en gång till: =+2*insats end Vi behöver upprepa dessa fem rader ända tills det antingen kommer en vinst eller vi inte har råd att betala insatsen längre! Det kan vi göra antingen genom att lagra de fem textraderna i Urklipp, och klistra in dem i Matlab så många gånger som det behövs. Prova det! Ett annat sätt att göra samma sak är att använda en såkallad while-slinga: while >=insats =+2*insats; Några förklaringar till ovanstående program: När en rad börjar med ordet while så kontrolleras om påståendet på raden är sant. Om det är sant så exekveras alla kommandon fram till motsvarande end. Därefter återvänder programmet till while-raden och kontrollerar återigen om påståendet är sant. Detta upprepas hur många gånger som helst. Tecknet >= betyder "större än eller lika med". Om den första vinsten dröjer alltför länge så upphör ju >=insats att vara sant så småningom. Instruktionen break avbryter en while-slinga. Matlab kommer att påträffa denna instruktion kommer så snart det blir vinst i en spelomgång. Med största sannolikhet är det på detta sätt som while-slingan kommer att avslutas. För att få veta om spelet slutade med att vi vann en krona eller gjorde konkurs så kan vi be programmet att skriva ut vårt. Därför står ordet "" på sista raden ovan.

Om vi inte har haft mycket stor otur så är vårt nu 100001 kronor. Glada i hågen startar vi på nästa djärva etapp: Att öka et till 100002 kronor. Då återställer vi insats till 1 krona och kör programmet en gång till, med =100001 från början. Med stor sannolikhet klarar vi att gå vidare till 100003, 100004 kronor, osv, utan att göra konkurs. Låt oss undersöka om vi lyckas komma upp i de belopp som man i dagligt tal tänker på när man talar om att vinna pengar på lotteri, alltså inte bara några futtiga kronor utan åtminstone så mycket att vi kan gå ut och göra oss en glad kväll på krogen. Vi upprepar proceduren ovan 500 gånger. Om det slutar lyckligt har vi en femhundring att gå ut och festa för. =100000; while <100500 % Påbörja ny etapp, mot ännu en kronas vinst: insats=1; while >=insats =+2*insats; if <insats disp('fiasko! ') Kommentarer: Rader som börjar med %-tecken hoppar Matlab över. Sådana rader kan man lägga in i programmet för att själv komma ihåg vad de olika avsnitten gör. disp är en förkortning av display. Texten mellan blipparna skrivs ut. Om försöket att nå 100500 kronorsnivån misslyckas så kommer programmet att skriva ut ordet Fiasko och dessutom tala om för oss hur mycket vi har kvar av vårt spar, som en gång i tiden var 100 000 kronor.

Besvara nu följande fråga genom simulering: Om 25 personer äger 100 000 kronor var, och alla försöker öka sitt till 100500 kronor, hur många av dem kommer då att lyckas? Uppskattningsvis hur många procent är risken att det slutar med fiasko, baserat på dina simuleringar? Hur mycket pengar återstår i genomsnitt av de andra stackarnas? D. Efterarbete Efter en simuleringsövning skall man alltid tänka efter om resultaten verkar rimliga. Gå därför hem och fundera på hur stor risken för ett fiasko är, teoretiskt. Varje gång man försöker öka sitt med en krona finns en liten risk att man gör konkurs i stället. För att lyckas vinna 500 kronor måste man undvika denna lilla risk 500 gånger i följd. Hur sannolikt är det? (Använd miniräknare!) Stämmer teori och fakta överens? Skulle du själv vara beredd att ta den här risken att förlora ditt spar för chansen att vinna en femhundring?