1 Inledning. 2 Att logga in och ta sig in i MATLAB. 3 MATLABs grundfunktioner



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

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

SF1920/SF1921 Sannolikhetsteori och statistik, VT 2018 Laboration 1 för CELTE2/CMATD3

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

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

Introduktion till MATLAB

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Linjär algebra med tillämpningar, lab 1

Datorövning 1 Fördelningar

Datorövning 1: Fördelningar

Laboration: Grunderna i MATLAB

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

Laboration: Grunderna i Matlab

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

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

Kapitel 4. Programmet MATLAB

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

SF1901 Sannolikhetsteori och statistik: HT 2014 Lab 1 för CSAMHS, CINEKI, och CL

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

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

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

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

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

OBS! Snabbinsatt Matlab-intro vissa fönsterhanteringsdetaljer kan vara fel men gör gärna Matlab-uppgifterna. DN1240, Numeriska metoder för OPEN1.

Laboration 1: Linjär algebra

Syftet med den här laborationen är att du skall bli mer förtrogen med följande viktiga områden inom matematisk statistik

Introduktion till Matlab

Föreläsning 3, Matematisk statistik Π + E

Datorövning 1: Fördelningar

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

Datorövning 1 Introduktion till Matlab Fördelningar

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

TANA17 Matematiska beräkningar med Matlab

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

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

TSBB14 Laboration: Intro till Matlab 1D

SF1910 Tillämpad statistik, HT 2016 Laboration 1 för CSAMHS, CLGYM-TEMI

MAM283 Introduktion till Matlab

repetera begreppen sannolikhetsfunktion, frekvensfunktion och fördelningsfunktion

Demonstration av laboration 2, SF1901

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

TAIU07 Matematiska beräkningar med Matlab

Laboration 3: Parameterskattning och Fördelningsanpassning

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Matlabövning 1 Funktioner och grafer i Matlab

1 Förberedelser. 2 Teoretisk härledning av värmeförlust LABORATION 4: VÄRMEKRAFTVERK MATEMATISK STATISTIK AK, MAS 101:A, VT-01

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

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

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

2 Matrisfaktorisering och lösning till ekvationssystem

bli bekant med summor av stokastiska variabler.

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

SF1905 Sannolikhetsteori och statistik: Lab 2 ht 2011

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

SF1672, Linjär Algebra med Matlab för F1 Lab0

Datorövning 1: Introduktion till MATLAB

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

Laboration 4: Lineär regression

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

Instruktion för laboration 1

Matriser och Inbyggda funktioner i Matlab

Funktioner och grafritning i Matlab

Laboration 1: Grundläggande sannolikhetsteori, simulering och dataanalys

Mer om funktioner och grafik i Matlab

Användarmanual till Maple

Matriser. Vektorer. Forts. Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Matematisk statistik 9 hp Föreläsning 3: Transformation och simulering

Lab 1, Funktioner, funktionsfiler och grafer.

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

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Skapa mapp. * Gör så här: Det finns många sätt att skapa mappar, men det enklaste sättet brukar vara följande.

Introduktion till Matlab

SF1911: Statistik för bioteknik

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

TANA17 Matematiska beräkningar med Matlab

Laboration 1: Introduktion till R och Deskriptiv statistik

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

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

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

MAPLE MIKAEL STENLUND

15 februari 2016 Sida 1 / 32

träna på att använda olika grafiska metoder för att undersöka vilka fördelningar ett datamaterial kan komma från

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

Introduktion till datorer och nätverk vid institutionen för naturgeografi och ekosystemvetenskap

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

1 Syfte. 2 Förberedelseuppgifter DATORLABORATION 1 MATEMATISK STATISTIK, AK FÖR L, FMS 033, HT-03

3 Jämförelse mellan Polyas urna och en vanlig urna

1 Förberedelser. 2 Att starta MATLAB, användning av befintliga m-filer. 3 Geometriskt fördelad avkomma

Matriser. Vektorer. Grunderna i MATLAB 2. Informationsteknologi. Informationsteknologi.

Introduktion till Matlab

Introduktion till Matlab

modell Finansiell statistik, vt-05 Modeller F5 Diskreta variabler beskriva/analysera data Kursens mål verktyg strukturera omvärlden formellt

MATLAB övningar, del1 Inledande Matematik

Matriser och linjära ekvationssystem

Introduktion till Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

SF1920/SF1921 Sannolikhetsteori och statistik 6,0 hp Föreläsning 3 Diskreta stokastiska variabler. Jörgen Säve-Söderbergh

Transkript:

LUNDS UNIVERSITET MATEMATIKCENTRUM MATEMATISK STATISTIK LABORATION 0: KORT INTRODUKTION TILL MATLAB MATEMATISK STATISTIK AK, MAS 101:A, VT-01 1 Inledning Som titeln anger är denna lilla skrift endast avsedd som en kort introduktion för att hjälpa dig att komma igång med MATLAB. Du lär dessutom behöva en mera regelrätt handledning, se t.ex. Edsberg [9] (finns att köpa på institutionen) eller Pärt-Enander m.fl. [10] (finns att köpa bl.a. på KFS). MATLAB är ett interaktivt program för numeriska beräkningar. Det är också ett programmeringsspråk med en instruktionsrepertoar liknande den som finns i t.ex. Pascal. MATLAB finns på alla datorer i mattehuset och på de flesta datorer på LTH, och till fördelarna med programmet hör att det ser i stort sett likadant ut oberoende av på vilken sorts dator man kör det. 2 Att logga in och ta sig in i MATLAB PC-maskinerna i rum MH 230 och 231 använder operativsystemet Windows NT. De är i allmänhet påslagna, och då trycker du in de tre knapparna Ctrl-Alt-Del samtidigt för att få upp en kommandoruta för inloggning. I denna anger du som användarnamn datorns namn (Eulerxx) medan rutan lösenord lämnas blank. Därefter trycker du på OK för att logga in. För att kunna spara dina egna filer behöver du en diskett. Katalogerna på hårddisken rensas med jämna mellanrum. Starta nu MATLAB genom att helt enkelt dubbelklicka på MATLAB-ikonen. Du får då upp ett så kallat kommandofönster med prompten >>. Man avslutar MATLAB genom att skriva quit eller exit. 3 MATLABs grundfunktioner Till att börja med kan man tänka på MATLAB som en avancerad räknedosa som beräknar uttryck. Man skriver in vad man vill ha gjort och MATLAB svarar: >> 3*11.5+2.3^2/4 ans = 35.8225 Variabler tilldelas värden med tecknet = och finns sedan kvar i minnet. Pröva att tilldela några variabler värden: >> a=1; >> b=sqrt(36); >> width=3.89; >> who Your variables are: a ans b width

Kommandot who visar alltså vilka variabler som finns i minnet. Alternativt kan du använda whos. Då får du även information om dimensionen på variablerna samt hur stort minnesutrymme som används. En variabel, t.ex. b, kan raderas ur minnet med clear b. Läggs ett semikolon, ;, till efter en kommandorad, skrivs resultatet inte ut på skärmen. MATLAB är i första hand konstruerat för att hantera vektorer och matriser, och de hanteras precis lika enkelt som ovan: >> x=[1 3 7] x = 1 3 7 >> y=[2 1 8] y = 2 1 8 >> z=[ ; 3 4] z = 3 4 >> z_12 = z(1,2) z_12 = 2 Tecknet betyder som synes transponat och semikolon används för att skilja rader åt i matriser. Genom s.k. kolonnotation kan man enkelt plocka ut delmatriser till en given matris: >> z_rad1=z(1,:) z_rad1 = >> z_kol1=z(:,1) z_kol1 = 1 3 Sedan kan nya kolumner och rader enkelt adderas till en matris: >> z_addrad= [z ; z_rad1] z_addrad = 3 4 >> z_addkol= [z, z_kol1] z_addkol = 1 3 4 3 2

Notationen för algebraiska uttryck är den vanliga, men kom ihåg att multiplikationstecknet * tolkas som matrismultiplikation. Elementvis multiplikation mellan två matriser A och B av samma dimensioner skrivs A.*B (observera punkten framför operatorn). I MATLAB finns alla vanliga funktioner inbyggda, t.ex. exp log sin asin cos acos tan atan. Observera att log är den naturliga logaritmen. Eftersom det grundläggande matematiska objektet i MATLAB är matrisen, kan funktionerna ha matriser som argument (och vektorer och skalärer betraktas som matriser). Pröva att plotta en funktion, t.ex. genom följande kommandon (där den första raden tilldelar x en vektor som löper från 0.5 till 2 i steg om 0.1). >> x=0.5:0.1:2 >> y=log(x) >> plot(x,y) Använd help-kommandot närhelst du befinner dig i nöd, det är mycket användbart! Prova redan nu kommandona help help, help och help lookfor, så att du vet hur du kan få hjälp när du behöver det. Några uppvärmningsfrågor: Hur inverterar man en matris i MATLAB? Lös ekvationssystemet A*x=b, där A=[6 7;4 9] och b=[6;7]. Kontrollera sedan lösningen genom att beräkna A*x. Undersök om den viktiga konstanten finns inlagd. Plotta sinusfunktionen i intervallet [0, 2 ] med en röd kurva. Plotta sedan cosinusfunktionen i samma intervall med en blå kurva. Avsluta med att plotta de två funktionerna med var sin färg i samma koordinatsystem (tips: använd kommandot hold on och hold off). Det bör tilläggas att det av numeriska skäl är olämpligt att lösa ett ekvationssystem genom att först invertera matrisen. Med mindre man explicit behöver den inversa matrisen bör man välja en metod som är mer effektiv och ger bättre noggrannhet. I MATLAB tillhandahålls detta genom operatorn \, vilken kan tolkas som vänsterdivision. MATLAB väljer då en lämplig algoritm beroende på strukturen hos matrisen A (se t.ex. Lindfield och Penny [3] eller Math Works egen referenshandbok [6]). Det rekommenderade sättet att lösa ut x ur ekvationen A*x=b är alltså x=a\b. För överbestämda ekvationssystem (antal rader i A är större än antalet kolumner), så erhålls minsta kvadratlösningen. Kommandona >> b=[1;2;3;4]; >> A = [5 1; 4 3; 2 2; 1 6]; >> x = A\b ger alltså den vektor x som minimerar Ax b, där betecknar Euklidiska normen för vektorer. 3

4 Att skriva egna program, editering Precis som i Pascal och andra programmeringsspråk kan man i MATLAB skriva sina egna funktioner, vilket kan vara mycket praktiskt om man skall utföra samma typ av beräkningar flera gånger. Hur detta går till beskrivs i kapitel 7 i [9] eller i Pärt-Enander m.fl. [10] och är i grunden rätt enkelt. Man skriver i stort sett bara de vanliga MATLAB-kommandona i en särskild s.k. m-fil. Låt oss till exempel skriva en funktion som klarar av den sista uppgiften i uppvärmningsfrågorna ovan och dessutom lagrar värdena på sinus och cosinus i en matris. Börja med att öppna MATLABs editor (ordbehandlare) med kommandot >> edit Därefter skriver du in följande rader: function T = plotta(a,b) % T = plotta(a,b) % Plottar sinus och cosinus i intervallet [a,b] samt % lagrar funktionsvärdena i matrisen T. steg = (b-a)/100; x = a:steg:b; y = sin(x); z = cos(x); plot(x,y, y ) hold on plot(x,z, g ) hold off T = [y z ]; Spara nu det du skrivit som en fil med namnet plotta.m (suffixet.m är nödvändigt för att MATLAB skall kunna hitta filen). Detta görs genom att med musens vänstra knapp trycka in File-knappen, hålla den intryckt, gå ner till kommandot Save As och sedan släppa musknappen. I det fönster som nu öppnas anger du så plotta.m som filnamn 1. Nu kan du gå tillbaka till MATLAB-fönstret och se att plotta.m verkligen lagrats som en fil med kommandot >> what som listar alla filer i ditt bibliotek. Funktionen plotta kan användas på samma sätt som alla andra funktioner (om du t.ex. ger kommandot help plotta, så kommer de kommentarer du själv skrivit efter %-tecknen fram). Pröva och skriv >> [T] = plotta(0,2*pi) 1 Om du i stället hade velat editera i en redan befintlig fil, trycker du in File-knappen i kombination med Open. I det fönster som öppnas anger du så namnet på den lagrade filen. 4

5 Utskrifter Anta att du vill skriva ut en m-fil som du skrivit. Då flyttar du musen till editorns fönster (såvida detta redan är öppnat), trycker in File-knappen, håller den nertryckt, gå ner till kommandot Print och släpper musknappen. I det fönster som öppnas klickar du på OK för att skriva ut filen (i allmänhet finns möjlighet att välja vilken skrivare du vill skriva ut på). MATLABs bilder ritas upp i ett grafikfönster. (Exempelvis sinus- och cosinuskurvorna från föregående avsnitt.) För att skriva ut grafikfönstrets bild anger du File, Print och OK på precis samma sätt som för editorns fönster. 6 Statistiska kommandon MATLAB har en del statistiska kommandon. Pröva t.ex. några av funktionerna mean median std cov corrcoef hist bar stairs för beskrivande statistik. Förutom de vanliga funktionerna i MATLAB finns diverse verktygslådor att köpa till. Med dessa specialverktyg för olika tillämpningsområden ökar MATLABs användbarhet ytterligare. Med Statistics Toolbox kan du exempelvis generera slumptal, beräkna fördelningsfunktioner, sannolikhetsfunktioner och kvantiler för diverse olika fördelningar. Genom kommandot help stats får du en lista över de funktioner som ingår i Statistics Toolbox. Använd sedan hjälpfunktionen help för att ta reda på in- och utparametrar m.m. Om du t.ex. skulle vara intresserad av funktionen norminv, som finns i listan, får du veta mera genom kommandot help norminv. Det finns också en officiell handledning [2] utgiven. Några viktiga kommandon finns sammanfattade i följande tabell: Fördelning Slumptal Fördelnings- Sannolikhets- Kvantil funktion funktion Normal normrnd normcdf normpdf norminv Likformig unifrnd unifcdf unifpdf unifinv Binomial binornd binocdf binopdf binoinv Hypergeometrisk hygernd hygecdf hygepdf hygeinv Poisson poissrnd poisscdf poisspdf poissinv Exponential exprnd expcdf exppdf expinv Gamma gamrnd gamcdf gampdf gaminv Weibull weibrnd weibcdf weibpdf weibinv Fjärde kolumnen avser sannolikhetsfunktion (p X ) för diskreta stokastiska variabler och täthetsfunktion (f X ) för kontinuerliga stokastiska variabler. Observera att notationen för kvantiler är omvänd jämfört med i Bloms bok A. Exempelvis beräknas -kvantilen (enligt Bloms notation) för en N(3, 5)-variabel med kommandona >> alfa = 0.36; >> norminv(1-alfa,3,5) Några uppgifter: Bilda en 40 3 matris med exponentialfördelade slumptal med väntevärde 4. Beräkna sedan medelvärdet av talen i varje kolumn. 5

Generera en 100 1 kolumnvektor X av N(10, 6)-variabler. Plotta de erhållna värdena med hjälp av kommandot normplot. Upprepa sedan samma sak med exponentialfördelade slumptal (väntevärdet bestämmer du själv). Upptäckte du några väsentliga skillnader mellan de två plottarna? Hur stor är P(X 4) om X Po(3)? Bestäm P(X = 7) om X Bin(10, 0.6). Bestäm 0.14-kvantilen för en (4, 3)-fördelning. På vissa datorer finns paketet stixbox, som är skrivet vid institutionen för matematisk statistik här i Lund, och där får du en innehållsförteckning med kommandot help contents (förutsatt att du hittat fram till den katalog där stixbox ligger). 7 Andra verktygslådor Med kommandot help får du en lista, där det framgår vilka verktygslådor som finns installerade på den dator du använder. Några av de mest använda är: System Identification Toolbox Signal Processing Toolbox Optimization Toolbox Neural Networks Toolbox 8 Att gå ur MATLAB, logga ut och byta lösenord För att gå ur MATLAB anger du >> exit Tryck sedan Ctrl-Alt-Del, så får du upp ett fönster där du trycker rutan Logga ut. Obs, ange inte Avsluta! Referenser [1] Howard Demuth och Mark Beale. Neural Network Toolbox. For Use with MATLAB. The Math Works, Inc., Natick, Mass., 1993. [2] Bradley Jones. Statistics Toolbox. For Use with MATLAB. The Math Works, Inc., Natick, Mass., 1996. [3] George Lindfield och John Penny. Numerical Methods Using MATLAB. Ellis Horwood Ltd, Hemel Hempstead, Hertfordshire, 1995. En introduktion i numeriska metoder med MAT- LAB-algoritmer som exempel. [4] John N. Little och Loren Shure. Signal Processing Toolbox. For Use with MATLAB. The Math Works, Inc., Natick, Mass., 1992. 6

[5] Lennart Ljung. System Identification Toolbox. For Use with MATLAB. The Math Works, Inc., Natick, Mass., 1993. [6] MATLAB. Reference Guide. The Math Works, Inc., Natick, Mass., 1993. [7] MATLAB. User s Guide. The Math Works, Inc., Natick, Mass., 1992. [8] MATLAB. Building a Graphical User Interface. The Math Works, Inc., Natick, Mass., 1993. [9] Lennart Edsberg. Användarhandledning för MATLAB 5. Institutionen för datalogi och numerisk analys, Lunds universitet, 1997. Kortfattad och prisvärd introduktion till MATLAB. [10] Eva Pärt-Enander, Pernilla Isaksson, Bo Melin och Anders Sjöberg. Användarhandledning för MATLAB 4.2 Institutionen för teknisk databehandling, Uppsala universitet, 1996. Rätt omfattande handledning för den som vill skriva mer avancerad MATLAB-kod. [11] Kermit Sigmon. MATLAB Primer. Department of Mathematics, University of Florida, 1993. Kortfattad och billig introduktion till MATLAB. 7