TSKS08 Introduktionskurs i MATLAB

Relevanta dokument
TSKS08 Introduktionskurs i MATLAB

TSKS08 Introduktionskurs i MATLAB

TSKS08 Introduktionskurs i Matlab Föreläsning 2

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

TSBB14 Laboration: Intro till Matlab 1D

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

Beräkningsverktyg HT07

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

Introduktion till MATLAB Föreläsning 1

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

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

Introduktion till MATLAB

Matematisk Modellering

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

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Instruktion för laboration 1

Matlabföreläsningen. Lite mer och lite mindre!

MMA132: Laboration 2 Matriser i MATLAB

Introduktion till Matlab

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

Matematisk Modellering

Datorövning 1: Introduktion till MATLAB

Beräkningsvetenskap föreläsning 2

TSRT04: Introduktionskurs i Matlab Datorlektion 1

Matriser och Inbyggda funktioner i Matlab

Introduktion till MATLAB, med utgångspunkt från Ada

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Kort om programmering i Matlab

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

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

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

Introduktion till Matlab

Du kan söka hjälp efter innehåll eller efter namn

MMA132: Laboration 1 Introduktion till MATLAB

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

Laboration: Grunderna i Matlab

Matriser och Inbyggda funktioner i Matlab

Laboration: Grunderna i MATLAB

En introduktion till MatLab

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Introduktion till Matlab

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

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

Introduktion & MATLABrepetition. (Kap. 1 2 i MATLAB Programming for Engineers, S. Chapman)

Introduktion till MATLAB

Introduktionsföreläsning i MATLAB (TFYY51)

Matlabövning 1 Funktioner och grafer i Matlab

Introduktion till Matlab

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

Linjär algebra med tillämpningar, lab 1

TANA17 Matematiska beräkningar med Matlab

MATLAB Matrix laboratory

Motivering för programmering. F1: Introduktion, Matlabrepetition (kap. 1 2) Att kunna programmera. Interpreterat/kompilerat

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

Programmering i Matlab

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

KPP053, HT2015 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

Introduktionskurs i MATLAB (TSRT04)

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

Textsträngar från/till skärm eller fil

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

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

Laboration: Vektorer och matriser

Matriser och linjära ekvationssystem

Matematisk Modellering

Välkommen till TSDT84 Signaler & System samt Transformer!

Kursuppläggning. F1: Introduktion, Matlabrepetition (kap. 1 2) Motivering för programmering. Att kunna programmera

TAIU07 Matematiska beräkningar med Matlab

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

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

Introduktion till Matlab

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

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

Vad är MATLAB? Användningsområden. Var kan man köra MATLAB? MATLAB-miljön: avsluta. MATLAB-miljön: Start. Informationsteknologi. Grunderna i MATLAB

Kursinnehåll. Introduktion till kursen. Hederskodex. Programmering

Introduktion till Matlab

Datorövning 1 Fördelningar

Matriser och linjära ekvationssystem

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

Matematisk Modellering

Matriser och vektorer i Matlab

Laboration 1: Linjär algebra

Introduktion till Matlab

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

For-sats/slinga. Notis

BE MATLAB. (Matrix Laboratory) matlab.ico. för SIGNALER SYSTEM

Kapitel 4. Programmet MATLAB

Variabler och konstanter

Instruktion för laboration 1

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Introduktion till Matlab

F1: Introduktion, Matlabrepetition (kap. 1 2)

Introduktion till Matlab

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Introduktion till Matlab

Hemuppgift 1, SF1861 Optimeringslära, VT 2017

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

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

Transkript:

TSKS08 Introduktionskurs i MATLAB 1 TSKS08 Introduktionskurs i MATLAB Examinator & föreläsare: Lasse Alfredsson Datorsee, ISY, www.cvl.isy.liu.se lasse.alfredsson@liu.se Lab-assistenter: Fredrik, Joakim, Joakim, Joel, & Marcus Kurswebbsida: www.cvl.isy.liu.se/education/undergraduate/tsks08 liu se/education/undergraduate/tsks08 Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 2 MATLAB = MATrix LABoratory Först: Ett verktyg för beräkningar i linjär algebra. Nu: Verktyg för diverse beräkningar och simuleringar inom t.ex. statistik, signalbehandling, kommunikation, fysik, bildbehandling, ekonomi, mekanik, m.m., m.m... Används i ett stort antal kurser på LiTH och på många företag. Matlab med studentlicens: Ladda ned från Studentportalen! Learn by doing bäst inlärning genom att testa själv! Matlab-introduktioner i text- och video på kurswebbsidan!! (Se länken Matlabresurser ) Copyright Lasse Alfredsson

1: 2: v. 14 v. 17 TSKS08 Introduktionskurs i MATLAB 3 MATLAB = MATrix LABoratory Ett laborationshäfte, 4 kapitel köp snarast häftet på Bokakademin: Kap 1: Introduktion till Matlab (grundläggande 3: v. 18 funktionalitet, skript & enkla beräkningar) Kap 2: Grafisk presentation av vektorer & matriser 4: v. 19-20 Kap 3: Villkorssatser, loopar & funktioner 5: v. 21 Kap 4: Funktioner tillämpningsexempel Arbetsform: Klassvisa labbar i ISY:s datorsalar (Linux/Windows), 2 studenter/grupp. Påbörja & helst avsluta Kap X på egen hand innan motsvarande lab-tillfälle. Mål: Varje kapitel godkänd senast på resp. lab-tillfälle ovan. Självverksamhet förutsätts! 2 hp 53 tim, men bara 2+10 tim schemalagt! Om ej färdig/godkänd under lab-tillfället bli godkänd fram till sid. x. Gör sedan färdigt på egen hand och redovisa i början av nästa lab-tillfälle! Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 4 Återkoppling kursutvärderingen 2014 Några frisvarskommentarer (bland de 27% som gjorde kursutvärderingen): Kursupplägget gör att det är lätt att slinka igenom, om man vill, genom att skriva av varandra. Se till att handledarna ställer högre krav på studenterna under redovisningen. Assistenterna var olika hårda/noga vid redovisningarna. Någon mer föreläsning, i samband med kapitel 3 och 4 tror jag skulle vara bra. Nytt för i år: Ett nytt kösystem, med väntelista. Bra resultat i en annan kurs! 2 assistenter per pass redan från lab-pass 2 (Jfr. 2014: 2 ass/pass fr.o.m. lab-pass 3. 2013: 2 ass/pass fr.o.m. lab-pass 4). Assistenterna kommer överens om vad de kontrollerar och i vilken omfattning. En extra föreläsning (seminarium) införs i anslutning till kapitel 3 och (speciellt) 4. Jag besvarar då era frågor! Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 5 Texteditorn Tidigare ritad figur Innehåll i aktuell mapp Kort beskrivning av markerad funktion Kommandofönstret: Direkta beräkningar samt anrop av Matlab. Prompt : >> Tidigare Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 6 Hjälpmöjlighet hjälp med funktioner/ Hjälpfunktionen >> help Hjälpfönstret >> helpwin Leta efter nyckelord >> lookfor Ex: >> help sin SIN Sine of argument in radians. SIN(X) is the sine of the elements of X. >> helpwin plot hjälptexten för plot i hjälpfönstret >> doc plot fylligare dokumentation om plot Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 7 Hjälpfönstret: >> helpwin plot Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 8 Hjälpfönstret: Även utförligare hjälp om olika /funktioner: >> doc plot Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 9 Några intressanta länkar: Flera videor & översikter finns på kurwebbsidan, under Matlabresurser, rser www.cvl.isy.liu.se/education/undergraduate/tsks08/matlab-1/resurser, t.ex: Interactive Matlab Tutorial: www.mathworks.se/academia/student_center/tutorials/mltutorial_launchpad.html Videodemonstrationer, Matlab ver. 8: www.mathworks.se/products/matlab/videos.html Matlabs Toolboxar: www.mathworks.se/products Matlab Finance Toolbox: www.mathworks.se/products/finance/ t /fi / Matlab Econometrics Toolbox: www.mathworks.se/products/econometrics mfl m.fl. Tillämpningsexempel lösa Sudoku med Matlab och en webbkamera: www.youtube.com/watch?v=sfbkxcaskea Matlab is Cool rap: www.youtube.com/watch?v=hyzwxd33lci Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 10 De flesta av de efterföljande powerpointbilderna visas inte på föreläsningen, men kan vara av intresse ändå. De utgör en inledande presentation av Matlab och ni kan gå igenom materialet själva. Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 11 Matlab som räknedosa Variabler >> 5*3 + pi/2 ans = Det senaste resultatet sparas i ans (answer), om ingen annan variabel specificeras >> a=2 Heltal a = 16.5708 2 >> b=pi/4; Semikolon resultatet >> sqrt(2)*cos(pi/3) >> c=a*tan(b) skrivs inte ut ans = c= 0.7071 2.0000 c c*5 >> c=c*5 >> 2*exp(j*pi/4) c = ans = i, j = 1 10.0000 Flyttal l 1.4142 + 1.4142i Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 12 Matriser Matlabs huvudsakliga dataobjekt Kolumner (n) 1 2 3 4 5 1 6 11 16 21 A = A (2,4) A 4 10 1 6 2 1 2 Rader (m) 3 2 7 12 17 22 8 12 1.2 9 7 25 3 8 13 18 23 7.2 5 7 1 11 A (17) 4 5 4 9 14 19 24 0 0.5 4 5 56 5 10 15 20 25 23 83 13 0 10 Rektangulär matris: Skalär: 1x1-tabell Vektor: mx1-tabell Matriselementen kan antingen 1xn-tabell vara tal eller tecken/symboler Matris: mxn-tabell Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 13 Numeriska matriser 1 2 3 >> A = [1 2 3; 4 5 6] A = 1 2 3 4 5 6 A 4 5 6 2x3-tabell (2x3-matris) Använd hakparanteser [ ] vid definition av tabeller/matriser. Semikolon är radseparator. Matlab skiljer på versaler och gemener. Exempel: A a >> b = [-5.6, sqrt(-7), (11+8)/5] b = -5.6 0+2.6458i 3.8 b 5.6 j2.6458 3.8 1x3-tabell = vektor av längd 3 Kommatecken eller mellanslag separerar elementen i en rad. Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 14 Numeriska matriser och vektorer Nästlade funktionsanrop är tillåtna! >> A = [1 2 3; 4 5 6]; >> A(3,5)=round( sqrt(163) * real( exp(j*pi/6) ) ) A = 1 2 3 0 0 Matriser måste vara 4 5 6 0 0 0 0 0 0 11 Skapa talsekvenser/-vektorer med kolon : rektangulära. Icke-definierade matriselement sätts till 0 (noll). >> x = 0:5; x 0 1 2 3 4 5 >> y = 8 : 0.3 : 9; y >> z = 1:-0 0.5:-1; z >> w = linspace(1,3,5); w 1 1.5 2 2.5 3 8.0 8.3 8.6 8.9 z 105 0.5 0 05 0.5 1 Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 15 Adressering av matriser A = A(3, 1) A(3) 1 2 3 1 2 3 4 5 4 10 1 6 2 1 6 11 16 21 8 1.2 9 7 25 2 7 12 17 22 72 7.2 5 7 1 11 3 8 13 18 23 0 0.5 4 5 56 4 4 9 14 19 24 5 10 15 20 25 5 23 83 13 0 10 A(1:5, 5) A(:, 5) A(21:25) A(21:) A(4:5, 2:3) A([9 14; 10 15]) Använd paranteser ( ) för att adressera/specificera matrisindex Kolonoperatorn (:) specificerar ett intervall eller alla element i raden/kolumnen Använd [ ] för att adressera delmatriser Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 16 Matris- och vektoroperationer >> A = [1 2 3; 4 5 3; 7 8 9]; >> x = [8 4 2]' ; >> b = A*x; >>%A Antag A och hbkä kända. >> % Beräkna x: >> A\b % Alt. inv(a)*b ans = 8 4 2 >> A\b % Alt i (A)*b 1 2 3 8 A 4 5 3 x 4 7 8 9 2 Apostrof matristransponat: 8 x ' 8, 4, 2 4 2 1 b b Ax x A b A Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 17 Matrismultiplikation vs. elementvis multiplikation >> A = [123;453;789]; 1 2 3 2 3 1 >> B = [2 3 1; 5 3 2; 5 9 2]; A 4 5 3, B 5 3 2 >> C = A*B 7 8 9 Matris- 5 9 2 C = multiplikation 27 36 11 1 2 3 2 3 1 48 54 20 C 4 5 3 5 3 2 99 126 41 7 8 9 5 9 2 >> D = A.* B Elementvis 12 23 31 D= multiplikation D 4 5 5 3 3 2 2 6 3 7 5 8 9 9 2 20 15 6 35 72 18 OBS:.*./. \.^ Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 18 Exempel på matris- och vektoranvändning x t t 4 x n x nt Rita sinussignalen =3sin 2 2t+ i intervallet 0 1 sek samt motsvarande samplade signal >> Ts = 0.01; 01; >> t = 0: Ts : 1; >> x = 3*sin(2*pi*2*t+pi/4); sin(2pi2t+pi/4); >> plot(t,x) >> n = 0:100; stem(n,x) s s s s t 0 T 2 T 3 T 1 x 0 x Ts x 2 Ts x 3 Ts x1 4 2 0-2 4 2 0-2 -4 0 50 100-4 0 0.5 Copyright Lasse Alfredsson 1

TSKS08 Introduktionskurs i MATLAB 19 Variabelhantering Visa aktuella/använda variabler: Spara variabler i datafil (filnamn.mat): Rensa arbetsminnet från alla variabler: Hämta/ladda variabler från datafil: >> who >> whos >> save filnamn >> clear >> load filnamn Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 20 Skript och funktioner Om man vill köra ett antal Matlab flera gånger, t.ex. med olika värden på några variabler, kan man skriva dessa i ett s.k. skript, som sedan anropas. Ett skript är en textfil med filändelsen.m (liksom alla andra Matlab-funktioner). Alla variabler i ett skript finns i workspace. Ex: ritasignal.m (Anropas i kommandofönstret som ritasignal ) t = linspace(0,10,200); % 200 sampelvärden, t=0->10 Fkn = input('ange x(t) som en sträng: '); x = eval(fkn); % Evaluera Fkn => vektorn x[n] plot(t,x) % Rita funktionen % Ha för vana att alltid kommentera koden väl! Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 21 Skript och funktioner Funktioner används istället för skript om man vill skicka med invariabler och erhålla andra variabler i retur. Variabler i funk- tionerna är vanligen lokala, och kan inte nås från workspace. Ex: ritasignaler.m (Anropas som [t,x,y] = ritasignaler(xstr,ystr,tmax ) function [t, x, y] = ritasignaler(xstr, ystr, tmax) t = linspace(0,tmax,200); % 200 sampelv. t=0->tmax x = eval(xstr); % Evaluera xstr => vektorn x[n] y = eval(ystr); % Evaluera ystr => vektorn y[n] subplot(2,1,1), plot(t,x) % Rita funktionen x(t) subplot(2,1,2), plot(t,y) % Rita funktionen y(t) Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 22 Kontrollstrukturer if, switch, for, while if-satser if villkor if villkor 1 else 2 if villkor1 1 elseif villkor2 2 else 3 Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 23 Kontrollstrukturer if, switch, for, while if-sats, exempel Nej Ålder? Medlem? Ja 16 if alder<=16 alder>64 >64 disp('gratis inträde!') elseif medlem==1 disp('inträde 100 kr') else disp('inträde 150 kr') Inträde 150 kr Inträde Gratis 100 kr inträde! Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 24 Kontrollstrukturer if, switch, for, while switch-sats istället för flera elseif-satser switch a case 12 if a==12 disp('fall 1') elseif strcmp(a 'Lasse') disp('fall 2') elseif strcmp(a,'anneli')... strcmp(a,'tom') ') disp('fall 3') elseif a==17 a==21 a==43 disp('fall 4') disp('fall 1') elseif strcmp(a, Lasse ) case 'Lasse' disp('fall 2') case {'Anneli', 'Tom'} disp('fall 3') case {17, 21, 43} disp('fall 4') otherwise disp('fall 5') else disp('fall 5') Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 25 Kontrollstrukturer if, switch, for, while Slingor upprepa flera gånger for-sats for vektordefinition while-sats while villkor for : while : Kontrollerad uppräkning av en variabel för användning Används vanligen då man inte vet hur många vid upprepning av ett antal gånger man vill upprepa. ett antal. Copyright Lasse Alfredsson TSKS08 Introduktionskurs i MATLAB 26 Exempel, ekvivalent for-sats & while-sats a=1:9 a=1 for a=1:9 a=a+1 a=1 a=1; while a<=9 a=a+1; a<=9? Ja Nej Nej a=9? Ja fortsätt! a=a+1 Fortsätt! Copyright Lasse Alfredsson

TSKS08 Introduktionskurs i MATLAB 27 LYCKA TILL MED LABORATIONSUPPGIFTERNA! Copyright Lasse Alfredsson