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

Relevanta dokument
ATT RITA GRAFER MED KOMMANDOT "PLOT"

Laboration: Grunderna i Matlab

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

Beräkningsverktyg HT07

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

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

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:

Funktioner och grafritning i Matlab

Introduktion till Matlab

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

KPP053, HT2016 MATLAB, Föreläsning 3. Plotter och diagram Läsa och skriva data till fil

Laboration: Grunderna i MATLAB

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

TSBB14 Laboration: Intro till Matlab 1D

Introduktion till Matlab

Introduktion till Matlab

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

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

Variabler och konstanter

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

Introduktion till Matlab

MATLAB handbok Introduktion

Linköpings universitet Institutionen för systemteknik (ISY) Fordonssystem. Laborationskompendium Fordonsdynamik TSFS02

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

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

Matlabövning 1 Funktioner och grafer i Matlab

Instruktion för laboration 1

Datorövning 1 Fördelningar

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

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

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

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

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

En introduktion till MatLab

Matriser och Inbyggda funktioner i Matlab

Introduktion till Matlab

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

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

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

TAIU07 Matematiska beräkningar med Matlab

Introduktion till Matlab

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

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

Matematisk Modellering

Mer om funktioner och grafik i Matlab

Datorövning 1: Fördelningar

MMA132: Laboration 1 Introduktion till MATLAB

CTH/GU LABORATION 1 MVE /2013 Matematiska vetenskaper. Mer om grafritning

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

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

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

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

2 februari 2016 Sida 1 / 23

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

Laborationstillfälle 1 Lite mer om Matlab och matematik

Introduktionsföreläsning i MATLAB (TFYY51)

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

Matriser och Inbyggda funktioner i Matlab

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

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 för M, DPU. Fredrik Berntsson, Linköpings Universitet. 8 december 2015 Sida 1 / 22

TSKS08 Introduktionskurs i Matlab Föreläsning 2

Introduktion till MATLAB Föreläsning 1

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

TAIU07 Matematiska beräkningar med Matlab

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

MATLAB Matrix laboratory

Datorövning 1 Introduktion till Matlab Fördelningar

Instruktion för laboration 1

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Grafritning och Matriser

GNU Octave Spara grafik i postscriptfiler. Per Jönsson, NMS, Malmö högskola

Laboration 1: Linjär algebra

Beräkningsvetenskap föreläsning 2

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

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

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

Datorövning 1: Introduktion till MATLAB

Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Matematisk Modellering

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

Matematisk Modellering

MAPLE MIKAEL STENLUND

jsp?d=&a=827474&sb2231i0=1_

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

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

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Introduktion till användning av linux-servern sledge och några övningsuppgifter

Linjär algebra med tillämpningar, lab 1

MMA132: Laboration 2 Matriser i MATLAB

Kort om programmering i Matlab

MATLAB - en kompakt introduktion av Tore Gustafsson

Sanningar om programmering

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

Transkript:

MATLAB En kort praktisk introduktion Olof Hultin olof.hultin@ftf.lth.se Omarbetad efter original av Henrik Persson FAFA10 2014-11-06

Dagens föreläsning K404: Kort introduktion till MATLAB - ca 40 min H212: Introduktionsövningar - ca 40 min H212: Avslutande återkoppling & tips - ca 10 min Mål: Att komma igång med grunderna i MATLAB!

Matrix Laboratory Skapat av MathWorks MATLAB Numeriska beräkningar med avancerade kommandon Möjlighet att skriva program Viktigt verktyg för ingenjörer Används där man med algebraiska metoder inte kan få fram ett exakt svar

MATLAB i FAFA10 Föreläsning kort introduktion/introduktionsövningar Övningsuppgifter/redovisningsuppgifter 11+2 uppgifter Redovisning till övningsledare senast 28/11 Datorprojekt Modellera kvantmekaniska fenomen Tilldelas den 25/11 Laborationer Lösa Schrödinger-ekvationen Plotta mätdata

Övningsuppgifter Texthäfte + övningar På hemsidan Redovisning 2 redovisningsuppgifter Stickprov på övriga (spara all kod!) Redovisa för övningsledare Senast 28/11 Tänk på att redovisningen tar ca 10 minuter

Datorprojekt Tilldelning och introduktion till projekt, 25/11 Tre projekt: Tidsutveckling av vågpuls Elektriska fält Bundna tillstånd Redovisas 19/12

Installation på din egen dator Gratis för universitetsstuderande: http://program.ddg.lth.se/ Open Source-variant: Octave http://www.gnu.org/software/octave/ Finns även för android och ios

MATLAB I PRAKTIKEN

Vektorer & Matriser I Skapa minvektor = [1 2 3 4 5]; minmatris = [11 12 13; 21 22 23; 31 32 33]; Hämta element minvektor(4) ans = 4 minmatris(2,1) ans = 21 minmatris(1:2,1) ans = 11 12 Ändra element minmatris(2,1) = 78 minmatris(2,:) = 5 Rad, kolumn

Vektorer & Matriser 2 Skapa lång regelbunden vektor minvektor1 = 0:0.1:10 0 0.1 0.2 9.8 9.9 10 minvektor2 = linspace (0,10,100) 0 0.1 0.2 9.8 9.9 10 Bra om man inte vill räkna ut ett jämnt intervall, t.ex x = linspace(-2*pi,2*pi, 100) Eller x = (-2*pi:((2*pi-(-2*pi))/100:2*pi)

Allmänt om tal 5/2 = 2.5 inte 2,5 5^2 = 25 123e-3 = 123*10^-3 = 0.123 exp(1) = 2.7182 ^1 log(exp(1)) = 1 sqrt(81) = 9 Fördefinierade konstanter pi=3.1415926535 i^2 = -1 j^2 = -1

Operationer >>minvektor = [1 2 3 4 5]; >>minvektor * minvektor??? Error using *_ Inner matrix dimensions must agree. 1 2 3 4 5 6 7 8 = 1 5 + 2 7 1 6 + 2 8 3 5 + 4 7 3 6 + 4 8 = 19 22 43 50 1 2 3 4 5 1 2 3 4 5 Skalärprodukt av två radmatriser går inte!

Operationer >>minvektor = [1 2 3 4 5]; >>minvektor * minvektor??? Error using ==> mtimes Inner matrix dimensions must agree. Skalärprodukt med två radmatriser går inte! >>minvektor * minvektor Ans = 55 1 2 3 4 5 1 2 3 4 5 = 1 1 + 2 2 + 3 3 + 4 4 + 5 5 = 55 radmatris kolonnmatris = skalärprodukt = 1*1 + 2*2 + 3*3 +4*4 + 5*5

Operationer >>minvektor = [1 2 3 4 5]; >>minvektor * minvektor??? Error using ==> mtimes Inner matrix dimensions must agree. Förklaring: radmatris radmatris, finns inte >>minvektor * minvektor' Ans = 55 Förklaring: radmatris kolonnmatris = skalärprodukt = 1*1 + 2*2 + 3*3 +4*4 + 5*5 >>minvektor.* minvektor Ans = 1 4 9 16 25 Förklaring: ny vektor skapad genom elementvis multiplikation OBS! samma sak gäller för./ och.^

Strängar Inmatning minstring1 = 'Hello'; minstring2 = 'world'; mitttal = 42; Konkatenering minstring3 = [minstring1 ' ' minstring2 '!'] Skriva ut tal minstring4 = ['Svaret är ' num2str(mitttal)]

Grafer x = (-2*pi:0.1:2*pi); y = sin(x); plot(x,y) hold on plot(x,cos(x),'r--', 'linewidth',2) legend('sin(x)', 'cos(x)') xlabel('x-axel') ylabel('y-axel') title('sin(x) och cos(x)') För att ändra massa olika saker i grafen: view property editor Kommandot hold all gör att alla grafer man plottar I ett fönster får olika färg automatiskt

Grafegenskaper Plot(x,y,'färgkod och markör','egenskap',värde på egenskap,'ny egenskap', värde på ny egenskap) Några exempel: Färger Markörer Vanliga Egenskaper r = röd. = punkt Markersize = storlek på markör k = svart -- = streckad linje Linewidth = tjocklek på linje g = grön < = triangel Markeredgecolor = kant på markör y = gul s = fyrkant Markerfacecolor = fyllnad på markör Plot(x,y, 'r--', 'linewidth',2) Ger en röd streckad linje med tjocklek 2

Help plot b blue. point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus -- dashed m magenta * star (none) no line y yellow s square k black d diamond w white v triangle (down) ^ triangle (up) < triangle (left) > triangle (right) p pentagram h hexagram

Lite logik minbool = true; if(minbool ~= false) disp('not false') end mitttal = 47; if(mitttal >= 0) disp('positivt') elseif(mitttal < 0) disp('negativt') else disp('inget tal') end Logiska kommandon och & eller Lika med == inte lika med ~= Större än > Mindre än < Större/lika >= Mindre/lika <=

For & while Loopen nedan går från 1 till 10 i steg om 1 for i = 1:10 disp(['varv nr ' num2str(i)]) end Loopen nedan går ifrån 1 till 10 i steg om 2 for i = 1:2:10 disp(['varv nr ' num2str(i)]) end k=1; while k<=10 disp(['varv nr ' num2str(k)]) k = k+1; end

Skriv din kod i en.m-fil! Skapa ny.m-fil i din MATLAB-mapp OBS: Filnamnet får inte börja med en siffra Exekvera koden med run!

Funktioner Det finns många inbyggda funktioner i MATLAB Kallas genom >>function(indata1,indata2,..) ans = utdata För att spara ditt svar: >>[x,y]=function(indata) x = utdata1 y = utdata2 En funktion kan ha flera set av indata Jämför överlagring i Java

Skapa en egen funktion Inparametrar och utparametrar Variabler bara lokalt i funktionen Spara i din MATLAB-mapp så kan du alltid anropa funktionen!

Funktion - exempel I.m-fil med namn myfnc.m: function [ut1,ut2] = minfnk(in1, in2) disp('här sker vår beräkning') disp('när beräkningen är klar får vi ut svaren:') ut1=in1+in2; ut2=in1-in2; end I kommandoprompten: >>[x,y]=myfnc(5,5) Här sker vår beräkning När beräkningen är klar får vi ut ett svaren: x = 10 y = 0 Vi anropar filnamnet!

Underfunktioner Möjligt att ha flera underfunktioner i samma.m-fil Underfunktioner går bara att kalla på från samma.m-fil

Underfunktion - exempel I m-filen myfun.m function [utdata] = myfun(indata1, indata2) %tar in två variabler och skickar dem till den egna underfunktionen %Sedan adderas de båda variablerna och skickas ut som svar till %kommandoprompten [x,y] = minunderfnk(indata1, indata2); utdata = x+y; end function [ut1,ut2] = minunderfnk(in1, in2) %underfunktion tar in två parametrar, gör saker och skickar sedan tillbaka %två parametrar ut1=in1+in2; ut2=in1-in2; end I kommandoprompten: >>myfun(5,5) ans = 10

DATORÖVNING, H212

AVSLUTANDE KOMMENTARER - ÅTERKOPPLING OCH TIPS

Vanliga fel Vid multiplikation av två vektorer: * Istället för.* * ger vektormultiplikation,.* sker elementvis Samma sak för./ och.^ Decimalkomma istället för punkt: 2,5 är talen 2 och 5 2.5 är ett decimaltal

Vanliga fel >>Log(10) = 2.3 %dvs ln(10) i vanlig notation >>Log10 ( 10) = 1 %dvs log(10) i vanlig notation >> 50e-3 = 0.05 %dvs 5 10-3 >>50*exp(3) 1000 % dvs 50e 3

Tips I Kommentera med % Städkommandon: close all %stäng alla figurer clear all %ta bort alla variabler clearvars except x y %ta bort alla variable UTOM x & y clear mitttal1 mitttal2 %ta bort valda variabler clc %ta bort alla kommandon i kommandoprompten Semikolon efter rad = ingen utskrift Ctrl + C = avbryt

Tips II Skriv allt i m-filer Enkelt gå tillbaka och ändra om man gjort fel Variabel-editor dubbelklicka på variabel Bra för inmatning av data (t.ex. i laborationerna) Använd bra variabelnamn & kommentera koden

Tips III Upp/ner = gå igenom tidigare kommandon Kan också börja skriva följt av uppåt-pil: >>plo går genom alla kommandon du skrivit som börjar med plo TAB = autokomplettera Skriv början på ett variabelnamn/inbyggd funktion, tryck TAB I.m-fil: markera kod och högerklicka Automatisk kommentering (ctrl+r) Ta bort kommentering (ctrl+t) Automatiskt radinhopp (ctrl+i)

Tips IV Lär dig nya plotkommandon: 1. Skapa figur 2. Lägg till axlar, legend etc. 3. View property editor korrigera ex typsnitt, graf 4. File generate code I den skapade filen finns alla plotkommandon du behöver! (Dock lite svårtolkade ibland.)

Guide till fina grafer Loren Shure: http://blogs.mathworks.com/loren/2007/12/11/making-pretty-graphs/

KÖRT FAST?

Hjälp i MatLab I matlab >>help plot % visar textfil om kommandot help kräver att man vet vad kommandot heter >>lookfor histogram%söker igenom alla funktionsbeskrivningar och letar efter strängen hist

Hjälp utanför MATLAB Hur skriver man ψ? Googla Matlab greek letters >>title( \psi(x) ) Fråga övningsledare Fråga varandra

Lär dig mer Per Jönsson, MATLAB beräkningar inom teknik och naturvetenskap Kurslitteratur i Nanoteknikens Matematiska Metoder UB/Fysikbiblioteket/Studiecentrum 474:- på Adlibris Distanskurs på Uppsala Universitet Användning av MATLAB, 7.5hp Både HT och VT, 25% studietakt. Ingen förkunskap http://www.uu.se/utbildning/utbildningar/selma/kurser/?kkod=1td311&lasar=14/15&typ=1 Skriv demo i matlab för introduktionsfilmer

LYCKA TILL!

TVÅ SÄTT ATT LÖSA INTRODUKTIONSÖVNING 1 A

Skriv vektorn i kommandoprompten Tryck enter

Utskrift av variabeln Variabeln har sparats till workspace Klart!

Skapa ny m-fil Metod 2

Skriv koden och spara filen i din MATLAB-mapp

Spara filen i din MATLAB-mapp Filnamnet får inte börja med en siffra

Exekvera koden!

Utskrift av variabeln Variabeln minvektor har sparats till workspace Klart! Två sätt att göra samma sak. Skriv alltid koden i en m-fil så är det enkelt att gå tillbaka och se vad du gjort!