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

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

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

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

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

MMA132: Laboration 2 Matriser i MATLAB

Instruktion för laboration 1

Introduktion till MATLAB

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

Laboration: Grunderna i MATLAB

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

Variabler och konstanter

Introduktion till Matlab

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Instruktion för laboration 1

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

Laboration: Grunderna i Matlab

TSBB14 Laboration: Intro till Matlab 1D

Beräkningsvetenskap föreläsning 2

Introduktion till Matlab

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

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

En introduktion till MatLab

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

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

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

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

Introduktion till Matlab

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

2 februari 2016 Sida 1 / 23

Matriser och vektorer i Matlab

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

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

Beräkningsverktyg HT07

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

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

Laboration: Vektorer och matriser

MMA132: Laboration 1 Introduktion till MATLAB

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

MMA132: Laboration 1 & 2 Introduktion till MATLAB

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

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

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

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

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

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

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

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

MATLAB Matrix laboratory

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

Kort om programmering i Matlab

Matriser och linjära ekvationssystem

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

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

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

Introduktion till Matlab

15 februari 2016 Sida 1 / 32

TAIU07 Matematiska beräkningar med Matlab

MATLAB övningar, del1 Inledande Matematik

Introduktion till Matlab

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

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

Vad är MATLAB? Vad är MATLAB? Vad är MATLAB? Användningsområden. Att börja använda MATLAB. Informationsteknologi. Grunderna i MATLAB

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

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

Matriser och vektorer i Matlab

Introduktion till Matlab

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

Matriser och Inbyggda funktioner i Matlab

TANA17 Matematiska beräkningar med Matlab

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

Använda Python Laboration 1 GruDat, DD1344

Introduktion till Jasmine 1.2 ODQL

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

Introduktion till Matlab

Numeriska metoder, grundkurs II. Dagens program. Gyllenesnittminimering, exempel Gyllenesnittetminimering. Övningsgrupp 1

Introduktion till Matlab

Matriser och Inbyggda funktioner i Matlab

Matematisk Modellering

Datorövning 1 Fördelningar

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

TAIU07 Matematiska beräkningar med Matlab

Matematisk Modellering

TANA17 Matematiska beräkningar med Matlab

Linjär algebra med tillämpningar, lab 1

Mer om funktioner och grafik i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Numeriska metoder, grundkurs II. Dagens program. Exempel Kubiska splines. Ögna igenom de gamla övningsanteckningarna.

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

Introduktion till Matlab

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

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

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

Datorövning 1: Introduktion till MATLAB

Mer om funktioner och grafik i Matlab

Användarhandledning Version 1.2

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

TNM059 Grafisk teknik Laboration 4 - Färg

Transkript:

Programmeringsteknik och Matlab Övning Dagens program Övningsgrupp 2 (Sal Q22/E2) Johannes Hjorth hjorth@nada.kth.se Rum 458 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d2 Övningsanteckningar: http://www.nada.kth.se/ hjorth/teaching/prgi05 Kort introduktion till matlab. Att använda variabler Matriser och vektorer Plotta grafer (plot, title, hold) Skriva funktioner Flödeskontroll (if, for, while) Lösa ekvationssystem Tips: Matlab har bra hjälp. För att få reda på mer om till exempel hold skriver ni help hold. Administrativt Viktiga datum Det är viktigt att ni har registrerat er på kursen för att vi ska kunna rapportera in er. res checkin prgi05 Kontrollera att ni har fått Lab inrapporterad i res faun:~>res show prgi05 RAPPORTERADE RESULTAT FÖR: 7500-09 Mosavat, Vahid ANVNAMN: vahid STUDIESTATUS: D-97 GRUPP: 2005-09-6 Sista dag för redovisning av Lab och Lab2 med bonus 2005-09-20 Inlämning av hemtal för bonus, handlar om matlab (obligatoriskt) 2005-09-2 Sista dag för redovisning av Lab med bonus Moment Nr Datum Resultat Rapp av lab 0509 G hjorth

Matlab Skriv koden i m-filer Ni kan ge matlab kommandon genom att skriva direkt i command window. Det som skrivs i kommandofönstret sparas inte. Om vi skriver kommandona in en textfil och sparar den med ändelsen.m så kan vi köra den i matlab. Text i filen minfil.m: %Kommentar börjar med procenttecken disp( Hello world! ) Vi kör filen genom att skriva minfil i matlab Koden ovan ritar upp grafen nedan minfil Hello world! Det är viktigt att vi är i rätt katalog, annars hittar matlab inte filen. Variabler och tilldelning Vad är ans och clear Det är enkelt att skapa och tilldela värden till variabler i matlab a = a = b = 2 b = 2 c = a + b c = Observera att en variabel måste ha fått ett värde innan vi kan använda den! d = x +??? Undefined function or variable x. Om vi utför en beräkning utan att spara svaret exp(log()) så ligger svaret tillfälligt sparat i variabeln ans. ans ans För att tömma variabeln x skriver vi clear x x??? Undefined function or variable x. För att rensa alla variabel skriver vi bara clear.

Skapa följder av tal Hur skapar vi matriser? Antag att vi vill ha en vektor av alla tal mellan ett och sju, matlab låter oss enkelt skapa den: :7 2 4 5 6 7 Säg att vi vill ha de udda talen mellan ett och tio: :2:0 5 7 9 Det blir ganska mycket utskrifter. Om vi inte vill se dem skriver vi ett semikolon på slutet av raden Antag att vi vill skapa följande matris: 2 4 5 6 7 8 9 Det gör vi enkelt genom att skriva: [ 2 ; 4 5 6; 7 8 9] 2 4 5 6 7 8 9 z = 0:-:; Standardmatriser Transponat Det finns inbyggda kommandon för standardmatriser ones(2,4) zeros(,) 0 0 0 eye(2) 0 0 Den sistnämnda är enhetsmatrisen. Eftersom den alltid är kvadratisk tar den bara en parameter. Det är enkelt att skapa en matris med tvåor: För att transponera en matris använder vi (fnutt) [ 2 ; 4 5 7] 2 4 5 7 A 4 2 5 7 När man transponerar en matris (skrivs A T ) byter man radindex mot kolumnindex. Elementet som stod på rad ett, kolumn två står efter transponering på rad två kolumn ett. T = 2*ones(,) T = 2 2 2

Kombinera matriser Bilda delmatriser ur större matriser Det går också att kombinera ihop flera matriser till en stor matris. Först skapar vi a, b och c. a = :4 a = 2 4 b = [0 7 9]; c = [ 2]; Med hjälp av matriserna ovan kan vi sedan bilda B = [a; b; c -c] B = 2 4 0 7 9 2 - -2 D = [b-a; 2*a; c] D = - 5 0 5 2 4 6 8 2 E = [c zeros(2,)] E = 0 2 0 [ 2 ; 4 5 6; 7 8 9] 2 4 5 6 7 8 9 Elementet på första raden tredje kolumnen: A(,) Hela första raden (alla kolumner): A(,:) 2 Rad ett och två ur tredje kolumnen: A(:2,) 6 Använd vektorer i beräkningar Skapa funktioner För att komponentvis multiplicera två vektorer använder vi.*-operatorn. :5, :2:0 2 4 5 5 7 9 z = x.* y z = 6 5 28 45 Om vi vill plotta x sin x skapar vi först en x-vektor och beräknar sedan motsvarande y-värden för alla komponenter. 0:0.:pi; x.*sin(x); plot(x,y) title( x sin(x) ) Skapa en fil med namn minfunk.m % minfunk tar x och y som parametrar function f = minfunk(x,y) f = x.^2 + y; % f innehåller svaret Den kan sedan anropas från matlab med minfunk(2,) 7 Den fungerar också för vektorer :5, ones(,5) 2 4 5 z = minfunk(x,y) z = 2 5 0 7 26

If/else-satser for-loopar En if-sats avslutas alltid med. Vi kan hänga på en efterföljande else om vi behöver, se nedan. I filen ifelseexempel.m står: a = if(a == ) % Två likamedtecken betyder jämförelse disp( a är ett ) else disp( a är inte ett ) if(a ~= 2) disp( a är inte två ) Vi använder for-loopar då vi vet hur många gånger en viss kod ska köras: for i=: disp([ i är nu num2str(i)]) Här markerar slutet på for-loopen. Kör vi filen forexempel.m ovan får vi: forexempel i är nu i är nu 2 i är nu Vi kör den och får då följande utskrift (hur?): ifelseexempel a = a är ett a är inte två while-loopar help-kommandot Vi gör en while-loop om vi inte på förhand vet antalet gånger vi behöver göra något: 0 while(i < 5) if(rand < 0.5) % slumptal mellan 0.0 och.0 i + else i + % Kom ihåg öka värdet på i inuti loopen, % annars fås oändlig loop... aj! Tar för vana att använda matlabs inbyggda hjälp. help break BREAK Terminate execution of WHILE or FOR loop. BREAK terminates the execution of FOR and WHILE loops. In nested loops, BREAK exits from the innermost loop only. BREAK is not defined outside of a FOR or WHILE loop. Use RETURN in this context instead. See also FOR, WHILE, RETURN, CONTINUE. Längst ner står relaterade kommandon. Vi kör whileexempel.m och ser att antalet varv i loopen varierar mellan körningarna: whileexempel 0 4 5 whileexempel 0 6

Lösning av ekvationssystem Kolla dig själv Ett ekvationssystem x + 2x 2 + x = 0 4x 5x 2 + 6x = 7x + 8x 2 9x = 2 skrivs med matrisnotation 2 4 5 6 x x 2 7 8 9 x vilket är på formen A b. = 0 2 format compact [ 2 ; 4-5 6; 7 8-9]; b = [0 2] ; x=a\b %detta löser ekvationsystemet Ax=b 2.56.4746.684 Det vill säga x = 2.4, x 2 =.47 och x =.64. Följande behöver du veta för att klara Lab2 och första hemtalet: Skapa och tilldela variabler Skapa sekvenser av tal Skapa matriser direkt eller från delmatriser Ta ut delar av en matris Skriva och köra m-filer och funktioner Plotta grafer if/else-satser for och while-loopar Ekvationssytem