1 Matlab, föreläsning 1 Oktober MATLAB Perspektiv på materialdesign Lina Kjellqvist Rum: K324 Telefon:
2 Matlab, föreläsning 1 Oktober Upplägg 2 föreläsningar. 3 laborationer, i grupper om 2-3 personer. De två första laborationerna redovisas muntligt. Den tredje redovisas i form av en skriftlig rapport och betygsätts enligt skalan A, B, C, D, E, Fx eller F.
3 Matlab, föreläsning 1 Oktober Exempel på matematiska verktyg Fortran, C,.... Matlab - förenklat, men ganska effektivt. Finns en mängd fördefinierade funktioner. Maple - symboliskt, långsamt för stora problem.
4 Matlab, föreläsning 1 Oktober Användning Matlab är ett mjukvaruverktyg för tekniska beräkningar och är ett av de dominerande verktyget för ingenjörer. Används inom många tekniska områden. Numerisk lösning av komplexa problem. Visualisering. 2D och 3D. Kan importera data från en mängd olika format. Välutvecklat stöd för programmering. Målet med kursen är att ge kunskaper om grunderna i Matlab.
5 Matlab, föreläsning 1 Oktober Variabler Alla variabler i Matlab är av typen matris av flyttal. En variabel har ett namn bestående av bokstäver och siffror, samt _. å, ä och ö får inte förekomma. Matlab skiljer på stora och små bokstäver, dvs man kan kalla en variabel för X och en annan för x. Matrisens dimension slås fast i och med att variabeln tilldelas en given matris. Matrisens dimension kan ändras genom att tilldela den ett nytt värde. a = 0.5 definierar en skalär a (=1x1 matris). v = [ ] definierar en vektor v (=1x3 matris). A = [1 2 3;4 5 6;7 8 9] definierar en 3x3 matris A.
6 Matlab, föreläsning 1 Oktober Grundläggande operationer +, -, *, /, ^ pi, inf, eps sin, cos, tan, exp sqrt, min, max, mean, sum, sort, find, size
7 Matlab, föreläsning 1 Oktober En vektor är en lista med tal. Vektorer utgör ett smidigt sätt att lagra flera tal i en variabel. v = [ ] Exempel på operationer: length(v) = 4 v(2) = 2 v(3:4) = [3 4] Vektorer som inte är lika långa går inte att addera. Om vi ändå försöker svarar Matlab med ett felmedellande. Vektorer v+2 = [ ] 2*(v+1) = [ ] v.*v = [ ]
8 Matlab, föreläsning 1 Oktober Vektorer Ett smidigt sätt att tillverka vektorn v (= [ ]) är med följande syntax: v = 1:1:4 eller v = linspace(1,4,4) Vektorn börjar med talet 1, dvs talet före första kolonet. Resterande tal i vektorn fås genom att addera 1, dvs talet mellan kolonen till föregående tal. Detta forstätter tills vi når sista talet, dvs 4. Långa vektorer vill man ofta inte ha utskrivna. Detta slipper man genom att avsluta raden med ett semikolon.
9 Matlab, föreläsning 1 Oktober Matriser A = [1 2 3;4 5 6;7 8 9] i Matlab
10 Matlab, föreläsning 1 Oktober Matris-operationer Matlab har en mängd inbyggda funktioner som behandlar matriser. T ex: inv(A) det(A) eig(A) transpose(A) eller A'... Det enklaste sättet att lösa ekvationssystem i Matlab är med 'backslash'-operatorn. För att lösa ekvationssystemet där A och b är kända skriv:
11 Matlab, föreläsning 1 Oktober Matrismultiplikation / elementvisa operationer a=[1 2 3] b=[1 2 3;3 4 5;5 6 7] matrismultiplikation, ex: elementvisa operationer (.), ex:
12 Matlab, föreläsning 1 Oktober Elementvisa operationer Operationen genomförs för varje par av element, ex: om b är en kolumnvektor med N element.
13 Matlab, föreläsning 1 Oktober Ekvationssystem
14 Matlab, föreläsning 1 Oktober Överbestämda ekvationssystem
15 Matlab, föreläsning 1 Oktober Skript-filer I stället för att skriva varje kommando ett och ett i Matlabs kommando-fönster kan man samla alla dessa i en s.k. skriptfil, och sedan exekvera denna fil genom att skriva filens namn vid prompten. Skriptfiler skrivs enklast i Matlabs egen texteditor. Skriptfiler slutar med.m.
16 Matlab, föreläsning 1 Oktober if-satser Med en s.k. if-sats kan man kontrollera om ett villkor är uppfyllt eller ej. if end if elseif else end
17 Matlab, föreläsning 1 Oktober Exempel på villkor i Matlab
18 Matlab, föreläsning 1 Oktober Logiska operatorer i Matlab
19 Matlab, föreläsning 1 Oktober Loopar En for-loop används när man vill göra samma sak många gånger. for = end Ett annat sätt att upprepa kod är med en s.k. while-loop. En while-loop upprepar alla rader mellan orden while och end tills det logiska testet efter ordet while blir falskt. while end
20 Matlab, föreläsning 1 Oktober Loopar break avbryter den 'innersta' for- eller while-loopen du befinner dig i. for = while if break end
21 Matlab, föreläsning 1 Oktober Funktionsfiler function y = enFunktion(a,b) x = 0:0.01:1; y = a*x + b; En funktionsfil tar inget, ett eller flera argument och returnerar inget, ett eller flera svar: Om du vill använda samma variabel i flera funktioner måste du skriva i varje funktion: global var1 var2 Man kan ha nästlade funktioner i hur många nivåer som helst.
22 Matlab, föreläsning 1 Oktober Plottning Antag att vi vill rita funktionen f(x)=x 2 på intervallet 0 ≤ x ≤ 1 Öppna en ny figur med figure. För att rita flera grafer i samma figur använd hold on. För att rita flera figurer i samma fönster använd subplot. Skriv förklarande text med xlabel, ylabel, title, legend... alternativt använd menyerna i figuren. x= 0:0.01:1; f = x.^2; plot (x,f)
23 Matlab, föreläsning 1 Oktober Tips Använd hjälpen - help kommando eller helpdesk. Skriv kommentarer i era m-filer. Allt efter % är kommentar. Radera alla existerande variabler i Matlab med clear all. Visa alla variabler med whos. Stäng alla figurer med close all. Med piltangenterna kan gamla kommandon bläddras fram och användas igen. Matlab är skrivet för att hantera matriser. På grund av detta är det väldigt ineffektivt att använda snurror. Ofta går det att undvika om man skriver smart, men ibland är man tvungen att använda for eller while.