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

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

Introduktion till MATLAB Föreläsning 1

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

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

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

MMA132: Laboration 2 Matriser i MATLAB

Introduktion till MATLAB

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

Matematisk Modellering

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

Matriser och Inbyggda funktioner i Matlab

Introduktion till Matlab

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

TSRT04: Introduktionskurs i Matlab Datorlektion 1

Beräkningsvetenskap föreläsning 2

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

Instruktion för laboration 1

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

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

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

Datorövning 1: Introduktion till MATLAB

Matematisk Modellering

Matriser och Inbyggda funktioner i Matlab

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

Laboration: Grunderna i Matlab

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:

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

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

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

Laboration: Grunderna i MATLAB

Kort om programmering i Matlab

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

Välkommen till TSDT84 Signaler & System samt Transformer!

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

Introduktionsföreläsning i MATLAB (TFYY51)

Introduktion till Matlab

Variabler och konstanter

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

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

Introduktion till Matlab

Introduktion till Matlab

En introduktion till MatLab

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

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

MATLAB Matrix laboratory

Linjär algebra med tillämpningar, lab 1

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

Introduktionskurs i MATLAB (TSRT04)

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

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

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

Matriser och vektorer i Matlab

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: 21:a April klockan

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

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

Introduktion till Matlab

Introduktion till Matlab

Matriser och vektorer i Matlab

Kursinnehåll. Introduktion till kursen. Hederskodex. Programmering

Introduktion till MATLAB

Introduktion till Matlab

Matematisk Modellering

Laboration: Vektorer och matriser

Funktioner och grafritning i Matlab

Matriser och linjära ekvationssystem

Matriser och linjära ekvationssystem

Välkommen till TSDT84 Signaler & System samt Transformer!

Introduktion till Matlab

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

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

Introduktion till kursen och MATLAB

MMA132: Laboration 1 Introduktion till MATLAB

Kapitel 4. Programmet MATLAB

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

Grafik och Egna funktioner i Matlab

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

Datorövning 1 Fördelningar

Programmering i Matlab

Laboration 1: Linjär algebra

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

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

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

Instruktion för laboration 1

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

DN1212/numpp 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- & lektionsassistenter: Elena, Erik, Fredrik, Fredrik, Michal, Olle Kurswebbsida: www.cvl.isy.liu.se/education/undergraduate/tsks08 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 & skapa ett användarkonto på se.mathworks.com! Learn by doing bäst inlärning genom att testa själv!! Matlab-introduktioner & -kurs i text- och video på kurswebbsidan (länken Matlabresurser ) gå igenom innan du börjar labba!!

TSKS08 Introduktionskurs i MATLAB 3 Kursupplägg Ett laborationshäfte, kapitel köp snarast häftet på Bokakademin! Förel. 1: v. 1 Kursintroduktion Pass 1: Förel. 2: Pass 2: Pass 3: v. 15 v. 16 v. 17 Kap 1: Introduktion till Matlab (grundläggande funktionalitet, skript & enkla beräkningar) Fokus: studentfrågor & genomgång av labserien Kap 2: Grafisk presentation av vektorer & matriser Kap 3: Villkorssatser, loopar & funktioner Lektion: v. 18 Förberedelse/hjälp inför kapitel Pass : Pass 5: v. 19 v. 20 Kap : Funktioner tillämpningsexempel TSKS08 Introduktionskurs i MATLAB Kursupplägg Ett laborationshäfte, kapitel köp snarast häftet på Bokakademin! Arbetsform: Klassvisa labbar/redovisningar i ISY:s datorsalar (Linux/Windows) 10 minuter/grupp, 2 studenter/grupp. Änmäl er grupp nu! Inled förberedelserna inför kapitel/lab 1 snarast! Mest självverksamhet! 2 hp 53 tim, men bara 2+10 tim schemalagt! Påbörja & helst avsluta Kap X på egen hand innan motsvarande redovisn.tillfälle Mål: Varje kapitel godkänd senast på resp. redovisningstillfälle (se föregåe bild). 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-/redovisn.tillfälle!

TSKS08 Introduktionskurs i MATLAB 5 Återkoppling kursutvärderingen 2015 Några frisvarskommentarer (bland de 28% som gjorde kursutvärderingen):! Learn by doing, vilket var bra!! Gärna åtminstone två föreläsningar som tog upp grunderna i Matlab.! Brant stigande svårighetsgrad på uppgifterna! Väldigt varierande kvalité på labbassistenterna! Laborationshandledarna höll genomgåe hög kvalitet! Det var svårt att få hjälp av handledare, då de inte hade tid för något annat än redovisningar, så om man fastnat satt man verkligen fast. Ett extra pass med tid för frågor innan sista labredovisningen hade varit bra.! Lärarledda hjälppass för de som fastnar förebygger plagiering!! Väldigt mycket fusk. Det plagierades tyvärr hej vilt och assistenterna märkte inget. Mer än hälften i min klass plagierade öppet.! Se till att handledarna ställer högre krav på studenterna under redovisningen. Nytt för i år: TSKS08 Introduktionskurs i MATLAB 6 Återkoppling kursutvärderingen 2015! En föreläsning har tillkommit efter redovisning kapitel 1 (fredag 15/ kl. 8-10) fokus på studentfrågor och översiktlig genomgång av labhäftet.! En lektion har tillkommit mellan kap. 3 & kap. som förberedande hjälp inför kapitel.! 2 assistenter per pass redan från lab-pass 1 (Jfr. 2015: 2 ass/pass fr.o.m. pass 2, 201: 2 ass/pass fr.o.m. pass 3, 2013: 2 ass/pass fr.o.m. pass )! Kört fast? Fråga mig! " Via e-post: lasse.alfredsson@liu.se frågor som kan besvaras kort (skicka med programkod som kan hjälpa till med frågeställningen) " Mitt kontor: B-huset, mellan ing. B27 & B29, markplanet, korr. A, rum 2A:51

TSKS08 Introduktionskurs i MATLAB 7 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 TSKS08 Introduktionskurs i MATLAB 8 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

TSKS08 Introduktionskurs i MATLAB 9 Hjälpfönstret: >> helpwin plot TSKS08 Introduktionskurs i MATLAB 10 Hjälpfönstret: Även utförligare hjälp om olika /funktioner: >> doc plot

TSKS08 Introduktionskurs i MATLAB 11 Några intressanta länkar: Flera videor & översikter finns på kurwebbsidan, under Matlabresurser, www.cvl.isy.liu.se/education/undergraduate/tsks08/matlab-1/resurser, t.ex: Interactive Matlab Tutorials: www.mathworks.se/academia/student_center/tutorials/mltutorial_launchpad.html MATLAB Onramp MATLAB Fundamentals Academic Tutorial Videodemonstrationer, Matlab ver. 8 ( R2012b): www.mathworks.se/products/matlab/videos.html Matlabs Toolboxar: www.mathworks.se/products Matlab Finance Toolbox: www.mathworks.se/products/finance/ Matlab Econometrics Toolbox: www.mathworks.se/products/econometrics m.fl. Tillämpningsexempel lösa Sudoku med Matlab och en webbkamera: www.youtube.com/watch?v=sfbkxcaskea TSKS08 Introduktionskurs i MATLAB 12 De efterföljande powerpointbilderna utgör en inledande presentation av Matlab. De visas inte under föreläsning 1, men en del av bilderna kan visas under föreläsning 2 beroe på övriga studentfrågor. Jag uppmuntrar dig dock till att börja gå igenom de första bilderna själv, som förberedelse inför labhäftets första kapitel.

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

TSKS08 Introduktionskurs i MATLAB 15 Numeriska matriser >> A = [1 2 3; 5 6] A = 1 2 3 5 6 1 2 3 A = 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.658i 3.8 b = ( 5.6 j2.658 3.8) 1x3-tabell = vektor av längd 3 Kommatecken eller mellanslag separerar elementen i en rad. TSKS08 Introduktionskurs i MATLAB 16 Numeriska matriser och vektorer >> A = [1 2 3; 5 6]; >> A(3,5)=round( sqrt(163) * real( exp(j*pi/6) ) ) A = 1 2 3 0 0 5 6 0 0 0 0 0 0 11 Nästlade funktionsanrop är tillåtna! Matriser måste vara rektangulära. Icke-definierade matriselement sätts till 0 (noll). Skapa talsekvenser/-vektorer med kolon : >> x = 0 : 5; >> y = 8 : 0.3 : 9; >> z = 1 : -0.5 : -1; >> w = linspace(1,3,5); x = y = ( 0 1 2 3 5) ( 8.0 8.3 8.6 8.9) z = ( 1 0.5 0 0.5 1) w = ( 1 1.5 2 2.5 3)

TSKS08 Introduktionskurs i MATLAB 17 Adressering av matriser A = A(3, 1) A(3) 1 2 3 5 1 2 3 5 10 1 6 2 1 6 11 16 21 8 1.2 9 7 25 2 7 12 17 22 7.2 5 7 1 11 3 8 13 18 23 0 0.5 5 56 9 1 19 2 23 83 13 0 10 5 10 15 20 25 A(1:5, 5) A(:, 5) A(21:25) A(21:) A(:5, 2:3) A([9 1; 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 TSKS08 Introduktionskurs i MATLAB 18 Matris- och vektoroperationer >> A = [1 2 3; 5 3; 7 8 9]; >> x = [8 2]' ; >> b = A*x; >> % Antag A och b kända. >> % Beräkna x: >> A\b % Alt. inv(a)*b ans = 8 2 1 2 3 A = 5 3 x 7 8 9 8 = 2 Apostrof matristransponat: 8 x = ( 8,, 2 )' = 2 1 b b = Ax x = A b = A

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

TSKS08 Introduktionskurs i MATLAB 21 Variabelhantering! Visa aktuella/använda variabler: >> who >> whos! Spara variabler i datafil (filnamn.mat): >> save filnamn! Rensa arbetsminnet från alla variabler: >> clear! Hämta/ladda variabler från datafil: >> load filnamn TSKS08 Introduktionskurs i MATLAB 22 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!

TSKS08 Introduktionskurs i MATLAB 23 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 funktionerna ä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) TSKS08 Introduktionskurs i MATLAB 2 Kontrollstrukturer if, switch, for, while if-satser if villkor if villkor 1 else 2 if villkor1 1 elseif villkor2 2 else 3

TSKS08 Introduktionskurs i MATLAB 25 Kontrollstrukturer if, switch, for, while if-sats, exempel Nej Ålder? Medlem? Ja 16 >6 if alder<=16 alder>6 disp('gratis inträde!') elseif medlem==1 disp('inträde 100 kr') else disp('inträde 150 kr') Inträde 150 kr Inträde 100 kr Gratis inträde! TSKS08 Introduktionskurs i MATLAB 26 Kontrollstrukturer if, switch, for, while switch-sats istället för flera elseif-satser switch a case 12 disp('fall 1') case 'Lasse' disp('fall 2') case {'Anneli', 'Tom'} disp('fall 3') case {17, 21, 3} disp('fall ') otherwise disp('fall 5') 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==3 disp('fall ') else disp('fall 5')

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

TSKS08 Introduktionskurs i MATLAB 29 LYCKA TILL MED LABORATIONSUPPGIFTERNA!