Vad är MATLAB? Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

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

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

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

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

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

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

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

Grunderna i MATLAB. Beräkningsvetenskap och 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

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

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

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

MATLAB Matrix laboratory

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

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

Laboration: Grunderna i MATLAB

Laboration: Grunderna i Matlab

Introduktion till MATLAB

Beräkningsverktyg HT07

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

Introduktion till Matlab

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

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

Datorövning 1: Introduktion till MATLAB

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

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

Introduktion till Matlab

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

TSBB14 Laboration: Intro till Matlab 1D

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

Laboration: Vektorer och matriser

Introduktion till Matlab

Matriser och Inbyggda funktioner i 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

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Introduktion till Matlab

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

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

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

Matriser och linjära ekvationssystem

Introduktion till MATLAB Föreläsning 1

Introduktion till Matlab

MATLAB övningar, del1 Inledande Matematik

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

Linjär algebra med tillämpningar, lab 1

Matriser och vektorer i Matlab

Introduktion till Matlab

Matriser och Inbyggda funktioner i Matlab

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

Introduktion till Matlab

TANA17 Matematiska beräkningar med Matlab

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

Matlabövning 1 Funktioner och grafer i Matlab

Introduktion till MATLAB

Instruktion för laboration 1

Introduktion till Matlab

Beräkningsvetenskap föreläsning 2

TAIU07 Matematiska beräkningar med Matlab

Matlabövning 1 Funktioner och grafer i Matlab

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

Datorövning 1 Fördelningar

Kapitel 4. Programmet MATLAB

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

Introduktion till Matlab

Introduktion till Matlab

Mer om funktioner och grafik i Matlab

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

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

Matriser och vektorer i Matlab

Linjär algebra. 1 Inledning. 2 Matriser. Analys och Linjär Algebra, del B, K1/Kf1/Bt1. CTH/GU STUDIO 1 TMV036b /2013 Matematiska vetenskaper

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

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

Laborationstillfälle 1 Lite mer om Matlab och matematik

Grundläggande kommandon

Matriser och linjära ekvationssystem

Laboration 1: Linjär algebra

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

Linjära ekvationssystem

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

Lab 1, Funktioner, funktionsfiler och grafer.

Datorövning 1: Fördelningar

Linjär algebra med MATLAB

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

En introduktion till MatLab

1.1 MATLABs kommandon för matriser

Mer om funktioner och grafik i Matlab

Grafritning och Matriser

Sanningar om programmering

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

Matematisk Modellering

Inledning till matematik med Matlab kompendium för M1 och TD

MMA132: Laboration 2 Matriser i MATLAB

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

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

Funktioner och grafritning i Matlab

MATLAB handbok Introduktion

ATT RITA GRAFER MED KOMMANDOT "PLOT"

Instruktion för laboration 1

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

Transkript:

Grunderna i MATLAB stefan@it.uu.se Vad är MATLAB? Utvecklat av MathWorks, Inc. http://www.mathworks.com Första versionen klar i slutet av 70-talet Matematisk labbmiljö för Numeriska beräkningar Grafik Programmering En enkel miljö för att snabbt testa idéer och för att studera resultat Vad är MATLAB? Avancerat interaktivt mjukvarupaket för beräkningar och visualiseringar. Ursprungligen MATrix LABoratory. Många kraftfulla fördefinierade funktioner med möjlighet att definiera egna. Eget objektorienterat programmeringsspråk. Samverkan med C++, Java och FORTRAN möjlig. 1

Vad är MATLAB? Över 25 tilläggsprogram (toolboxar) finns för speciella tillämpningsområden, t ex: signalbehandling bildbehandling statistik symbolisk matematik finansiell matematik Körs under UNIX/Linux, Windows eller Macintosh. Vad är MATLAB? Skilj mellan numeriska respektive symboliska beräkningar Ex) Symbolisk integrering i programvaran Maple int(1/x,x=a..b) ln(b)-ln(a) Denna typ av uttryck kan inte genereras i MATLAB (standardversionen). MATLAB genererar siffror, inte formeluttryck. Vad är MATLAB? Symbolisk beräkning Långsamt, passar mindre problem Fungerar inte alltid (många problem saknar t ex analytisk lösning) huvudsakligen ett matematiskt verktyg Numeriska beräkningar Snabbt, används ofta för mycket stora problem Klarar nästan alla problem produktionsverktyg Det är de metoder som används i numeriska beräkningar vi ska titta på i denna kurs. 2

Användningsområden Överallt där det förekommer beräkningsproblem! Undervisning: matematik, särskilt linjär algebra, beräkningsvetenskap, fysik, kemi, teknik, ekonomi, etc. Forskning: tekniska beräkningar, algoritmutveckling, analys av metoder och visualisering av resultat. Industrin: signalbehandling, bildbehandling, reglerteknik, optimering, simulering m.fl. Användningsområden MATLAB kan användas interaktivt som en avancerad räknedosa (kalkylator). Enkelt! MATLAB kan också användas som ett programmeringsspråk på ett mer avancerat sätt. Var kan man köra MATLAB? MATLAB finns i datorsalor på Polacksbacken, Ångström och på IBG Kan köpa speciell student-cd som, kostar ca 550 kr. Köps på IT-stöd (hus 3, Polacksbacken) 3

MATLAB-miljön: Start Utvecklingsmiljön (MATLAB desktop) har ett flertal verktyg, t ex kommandofönstret Här är kommandofönstret MATLAB-miljön: kommandon MATLAB styrs vanligen från kommandofönstret (Command Window). Kommandon ges efter»-promptern och utförs när return-tangenten tryckts ned. Exempel: >> 42 + 19 61 MATLAB-miljön: interaktiv I kommandofönstret kan man arbeta interaktivt som en avancerad miniräknare. Semikolon undertrycker utskrift. Om inget variabelnamn anges läggs variabeln i ans (=answer) >> a = 75 a = 75 >> b = 34; >> c = a*b c = 2550 >> a+b 109 4

MATLAB-miljön: avsluta MATLAB avslutas genom att man antingen ger kommandot quit eller exit >> exit Man väljer Exit MATLAB i File-menyn MATLAB-miljön: hjälp Hjälp fås via MATLAB help i menyn Help Klicka t ex på MATLAB documentation MATLAB-miljön: hjälp Hjälp för enstaka kommandon kan göras direkt i kommandofönstret >> help kommando Exempel Vad gör kommandot exit? >> help exit EXIT Exit from MATLAB. EXIT terminates MATLAB. 5

Matlab-miljön: demonstration Demonstration av MATLABs olika kommandon och tillämpningsområden fås genom att Ge kommandot demo >> demo Välja Demos i menyn Help Testa t ex Graphics -> 2D-plots Graphics -> 3D-plots More examples -> 3d drawing Variabler i MATLAB En variabel i MATLAB har alltid ett namn (börja på bokstav) kan ses som behållare som innehåller ett värde av en viss typ (heltal, rella tal, text, ) kan tilldelas ett värde skapas när de behövs, utan speciell deklaration (är av typen matris ). kan vara fördefinierad (t ex pi, ans) >> a = 3 a = 3 >> pi 3.1416 Variabler i MATLAB Variabler i MATLAB visas i delfönstret Workspace Om inte workspace syns markera workspace i menyn View Workspace 6

Variabler i MATLAB Kan listas med kommando who, whos >> who Your variables are: a ans >> whos Name Size Bytes Class a 1x1 8 double array ans 1x1 8 double array Grand total is 2 elements using 16 bytes Variabler i MATLAB kan skrivas ut i olika format, sparas och laddas upp >> format long >> pi 3.14159265358979 >> format long e >> format short e >> pi 3.1416e+000 Observera att noggrannheten i pi är lika, det är bara utskriftsformatet som ändras. Funktioner: fördefinierade Det finns mängder av fördefinierade funktioner, t ex för elementär matematik linjär algebra grafik i 2D och 3D integraler och differentialekvationer statistik Kurvanpassning Exempel: abs(x), sqrt(x), sin(x), log(x), log10(x), 7

Funktioner: egendefinierade Man kan också skapa egna funktioner...mer om detta senare Några små tips Piltangent återkallar tidigare kommando pl återkallar senaste kommando vars namn började med pl (plot t ex) kan också använda delfönstret command history. Dubbelklicka på ett kommando för att upprepa. Fönstret öppnas under menyn View Command history Några små tips ctrl-c avbryter körningen av ett kommando (men stoppar inte MATLAB) diary kan användas för att spara skärmutskrifter i en fil >> diary uppg1.txt Allt som skrivs på skärmen hamnar nu i filen uppg1.txt >> diary off % stänger diary Lämpligt att använda för att redovisa körexempel i inlämningsuppgifterna 8

Enkel grafik (2D) Gången när en graf ska ritas är Skapa en horisontell axel (t ex x-axel) Beräkna funktionsvärden (y-axel) Plotta x mot y, plot(x,y) >> x = linspace(0,2*pi,50); >> y = cos(x)+sin(x); >> plot(x,y) OBS! x är en talföljd här, en s k vektor. Funktioner i MATLAB fungerar även på talföljder! Enkel grafik (2D) x-axel skapas genom x = linspace(x0,x1,antal_pkt); eller x = x0:steglangd:x1; Plotkommandot kan utvidgas på många olika sätt, t ex >> plot(x,cos(x), -,x,sin(x), o ) Enkel grafik (3D) I 3D har man x, y och z-axel Givet x-axel och y-axel måste man skapa x- värden för alla y-värden, och y-värden för alla x- värden, ett nät. Detta görs med kommandot meshgrid 9

Enkel grafik (3D) Antag att f ( x, y) = xe 2 2 x y ska plottas i figuren Axlarna i bilden fås genom >> x = 0:0.1:1; y = 0:0.2:1; Nätet skapas genom >> [X, Y] = meshgrid(x,y); Funktionsvärdena beräknas för varje x och y- värde >> Z = X.* exp(-x.^2 - Y.^2); Enkel grafik (3D) Slutligen plotta >> mesh(x,y,z); Enkel grafik (3D) Lite bättre upplösning om man ökar antalet punkter i x och y-led >> x=linspace(0,1,50); y=linspace(0,1,50); >> [X,Y] = meshgrid(x,y); >> Z = X.* exp(-x.^2 - Y.^2); >> mesh(x,y,z); 10

Enkel grafik (3D) Byt mesh mot surf så fås en yta >> surf(x,y,z); Enkel grafik (3D) Använd menyn Tools i grafikfönstret för att rotera och flytta synvinklar etc Använd menyn Edit i grafikfönstret för att ändra linjetyper, lägga till text etc Grafik i 3D, smakprov Funktioner av två variabler kan visualiseras på många olika sätt mesh(x,y,z) 11

Grafik i 3D, smakprov surf(x,y,z) Grafik I 3D, smakprov contour(x,y,z) Grafik: strömlinjer, smakprov 12

Grafik: film och bildspel, smakprov Oscillerande klockkurva Bildbehandling, smakprov MATLAB-exempel Visualisera redan beräknade data, exempel från aerodynamik, rymdfärja med chockvågor 13

Matriser Matrisen är den grundläggande datatypen. En tvådimensionell matris är en tabell med rader och kolonner. En matris med m rader och n kolonner har storleken m n (m gånger n). En tredimensionell matris har storleken m n p (p är djupet ) Vektorer är specialfall av matriser, då antal rader eller antal kolonner är 1. Exempel: radvektor, 1 n, och kolonnvektor, m 1. En matris av storlek 1 1 kallas skalär (vanligt tal). Varje värde i matrisen kallas element. Vektorer Kolonnvektor och radvektor i MATLAB Semikolon i vektorer ger radbyte >> vkol = [ 1; 2; 3; 4; 5 ] >> vrad = [5 6 7 8 ], x = 3 vkol = % Kolonnvektor 1 2 3 4 5 vrad = % Radvektor 5 6 7 8 x = % Skalär 3 Vektorer Ändra enskilda element >> vrad(1) = -1.1; vrad(2) = 3.5; >> vrad vrad = -1.1000 3.5000 >> vkol = vrad' %transponera vkol = -1.1000 3.5000 vrad(1) anger att index 1 (position 1) ska tilldelas Tecknet betyder transponat 14

Hur skapas en matris? Skapa 1 A = 5 7 3 Semikolon eller retur i matrisen ger radbyte Semikolon efter hela uttrycket undertrycker utskrift >> A = [1 7; 5 3]; >> A A = 1 7 5 3 >> A = [1 7 5 3] A = 1 7 5 3 Matris elementvis 1 7 A = 5 3 >> A(1,1)=1; A(1,2)=7; >> A(2,1)=5; A(2,2)=3; >> A A = 1 7 5 3 Bestämma storlek och längd >> A = [1 7; 5 3] >> vkol = [ 1; 2; 3; 4; 5 ] >> size(a), size(vkol), length(vkol) 2 2 5 1 5 15

Workspace och Array Editor Om man dubbelklickar på en variabel i delfönstret Workspace så öppnas ett nytt fönster, Array Editor Dubbelklicka på en variabel i Workspace Workspace och Array Editor Med Array Editor kan man ändra variabelstorlek och värden. Matrisoperationer, aritmetiska Aritmetiska operationer på matriser kan göras direkt. Addition/subtraktion OK om samma storlek, t ex C = A + B, där A och B är m n Matrismultiplikation, C = A*B, fungerar bara om antal kolonner i A är samma som antal rader i B Matrisdivision, C=A/B eller C=A\B \ (backslash) är speciell, t ex x=a\b ger lösning till linjärt ekvationssystem / används vanligen inte i matrissammanhang 16

Matrisalgebra Vad händer om storlekarna inte stämmer? >> A=[1,7;5,3]; >> x = [2; 1]; >> A*x 9 13 1 Ax = 5 7 2 3 1 2 1 men xa = 1 5 funkar inte >> x*a??? Error using ==> * Inner matrix dimensions must agree. är OK, 7 3 Vanliga räkneregler för matriser/vektorer gäller! Att bygga ut en matris 1 7 Givet A = 5 3 1 7 skapa A = 5 3 2 1 >> A = [A; 2 1]; alternativt >> temp = [2 1]; >> A = [A; temp]; Skilj på rad- respektive kolonnvektorer! >> temp2 = [2;1]; >> A = [A; temp2];??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. Element, rader och kolonner Man kan arbeta med enskilda element, rader, kolonner, submatriser Kolon (:) betecknar hel rad respektive hel kolonn >> A(2,1) 5 >> A(2,:) 5 3 >> A(2,:) = [0 0] A = 1 7 0 0 2 1 17

Delmatriser, kolon-notation Delmatriser till matrisen A, m n kan skapas snabbt med kolon-notation A(:,j) j:te kolonnen av A A(i,:) i:te raden av A A(i:k,j:m) delmatris, rader i-k och kol j-m A = 1 7 6 0 0 5 2 1 3 >> B = A(2:3,1:2) B = 0 0 2 1 Exempel Plocka ut denna delmatris Generera vektorer Kolonnotation används ofta för att skapa vektorer startvärde:steglängd:slutvärde om steglängd=1 kan det utelämnas >> vektor = 0:5 vektor = 0 1 2 3 4 5 >> vektor2 = 0.0:0.05:2.0 >> vektor2 = 0.0:0.05:2.0 vektor2 = 0 0.0500 0.1000 0.1500... 1.9500 2.0000 Generera vektorer Kommandot linspace skapar också vektorer linspace(startvärde,slutvärde,antal_steg) >> v = linspace(0,2,10) v = 0 0.2222 0.4444 0.6667 0.8889 1.1111 1.3333 1.5556 1.7778 2.0000 Dessa två metoder används när man skapar x-axlar vid grafik 18

Speciella matriskommandon Finns inbyggda funktioner för att skapa vanliga (och ovanliga) matriser Kan skapa mer avancerade matriser genom kombinationer eye(n) enhetsmatrisen ones(m,n) ett-matris zeros(m,n) noll-matris rand(m,n) slumpmatris + ett stort antal andra >> B = ones(2,3) B = 1 1 1 1 1 1 >> eye(2) 1 0 0 1 >> C = zeros(2,2) C = 0 0 0 0 Elementvisa operationer Operationer, t ex *,/,^ kan även utföras elementvis Exempel: B^2 = B*B men b B.^2 = b 2 11 2 21 b b 2 12 2 22 >> B = [1 7;5 3]; >> B^2 36 28 20 44 >> B.^2 1 49 25 9 Elementvisa operationer På samma sätt är B*C vanlig matrismultiplikation mellan två matriser medan b11c11 b12c12 B.*C = b21c21 b22c22 Ibland kan detta >> a = [2 4]; generera fel >> a.^2 4 16 >> a^2??? Error using ==> ^ Matrix must be square. 19

Generera en tabell Elementvisa operationer används ganska ofta. Skapa t ex en tabell >> tal = 0:5; >> tabell = [ tal; tal.^2; tal.^3 ] tabell = 0 1 2 3 4 5 0 1 4 9 16 25 0 1 8 27 64 125 Komplexa tal Komplexa tal kan skapas med complex >> z = complex(1.2, 2.5) z = 1.2000 + 2.5000i eller i en beräkning >> z = sqrt(-2) z = 0 + 1.4142i Komplexa tal Givetvis fungerar vektorer >> z = complex([1.2 3],[-1 2.5]) z = 1.2000-1.0000i -3.0000 + 2.5000i Speciella funktioner real(z) ger realdelen av z imag(z) ger imaginärdelen av z conj(z) konjugatet till z abs(z) - absolutbeloppet av z angle(z)- fasvinkeln i radianer 20

Spara kod i M-filer En kommandofil är ett sätt att lagra kommandon som annars skulle skrivas interaktivt i kommandofönstret Genom att köra filen så exekveras (utförs) alla kommandon i filen och resultat visas i kommandofönstret (eller grafikfönstret) Ändelse på kommandofil måste vara.m, t ex minfil.m OBS! Fördel att lagra kod i fil vid inlämningsuppgifter. Filen (=koden) kan ju då redovisas. Spara kod i M-filer M-filer skapas enklast i MATLABs editor skriv edit i kommandofönstret eller använd menyn File: File -> New -> M-file Ett nytt fönster med en editor öppnas där man kan skriva in sin kod Spara kod i M-filer Matlabs editor Skriv in koden precis på samma sätt som i kommandofönstret 21

Spara kod i M-filer Spara filen! Viktigt att ha kontroll på i vilken katalog m-filen sparas Enklast är att se till att man befinner sig i den katalog man vill befinna sig i genom (Current Directory) i MATLABs huvudfönster. För att gå till annan katalog klicka på -knappen Spara kod i M-filer Kör koden, dvs utför de kommandon som skrivits in genom ett av alternativen i kommandofönstret, skriva filnamnet utan ändelse (.m) >> MinFil kör koden i filen MinFil.m i editorn, klicka på -knappen Spara kod i M-filer Ett litet exempel MATLABs editor öppnas och följande kod skrivs in % Lisas ritprogram, LisasFil.m x0 = 0; x1 = 2*pi; n = 100; x = linspace(x0, x1, n); y = sin(x); plot(x,y); 22

Spara kod i M-filer Spara koden och skriv i kommandofönstret >> LisasFil Koden körs då och ger resultatet Spara och hämta variabler Variabler kan sparas på fil och laddas upp vid annan MATLAB-session senare. I Workspace används knapparna Ladda upp Spara Variabler sparas då som s k MAT-filer, filer med ändelsen.mat Filen (och variablerna) kan laddas upp senare i samma fönster MAT-filer kallas binära och är ej läsbara eller editerbara. Spara och hämta variabler I kommandofönstret kan man på exakt samma sätt spara med kommandot save filnamn variabler >> save MinaMatriser A B sparar variablerna A och B på filen MinaMatriser.mat Kan ladda in variablerna genom load filnamn Det finns även andra format än mat-formatet att välja på (testa help save) 23

Funktioner och operatorer Finns mängder av inbyggda funktioner abs(x), sqrt(x), sin(x), log(x), log10(x), >> a = [-2 4]; >> abs(a) 2 4 >> sin(a) -0.9093-0.7568 Observera att alla arbetar på vektorer och matriser!! Funktioner och operatorer Fler exempel min(x) max(x) sum(x) mean(x) std(x) exp(x) real(z) imag(z) log2(x) ger minsta värdet i x, kolonnvis om x är en matris på samma sätt, men största värde summan av elementen i x medelvärdet av elementen i x standardavvikelsen av elementen i x e x för alla element i x realdelen av elementen i x imaginärdelen av elementen i x tvålogaritmen av elementen i x Funktioner och operatorer Backslash-operatorn, \ Används för att lösa ekvationssystem, Ax=b >> A = [-2 4;2 5]; b=[1;2]; >> x = A\b x = 0.1667 0.3333 Är en intelligent operator som ändrar metod efter vilket problem som ska lösas Om triangulärt system utförs framåt resp bakåtsubstitution Etc, etc 24

Ex) lösning av ekvationssystem Antag att vi vill lösa följande ekvationssystem: 3x 1 + x2 x3 = 3.6 x1 + 2x2 + 4x3 = 2.1 x1 + 4x2 + 5x3 = 1.4 Vi kan skriva om ekvationssystemet på formen Ax = b: 3 A = 1 1 1 2 4 1 4 5 x1 x = x2 x3 3.6 b = 2.1 1.4 Ex) lösning av ekvationssystem Översätt till MATLAB >> A = [3 1-1 ; 1 2 4 ; -1 4 5]; >> b = [3.6 ; 2.1 ; -1.4]; >> x = A\b x = 1.4818-0.4606 0.3848 Dataanalys och statistik Ett antal statistiska funktioner (x vektor) max(x) största elementet i x min(x) minsta elementet i x sum(x) summan av elementen i x mean(x) medelvärdet av elementen i x median(x) medianvärdet std(x) standardavvikelsen hos x sort(x) sorterar element i x i stigande ordn. hist(x) ritar histogram bar(x) ritar stapeldiagram 25

Dataanalys och statistik Exempel >> laengder = 0.4*rand(10,1)+1.60 >> bar(laengder) Dataanalys och statistik Exempel >> max(laengder), min(laengder), mean(laengder) 1.8813 1.6048 1.7533 Textsträngar Textsträngar skrivs innanför fnuttar, dvs >> namn = 'Nisse'; >> hej = ['Hej namn! ] hej = Hej Nisse! >> namn(2) = a namn = Nasse Exemplet visar att texter (textsträngar, strängar) fungerar som radvektorer 26

Textsträngar När behövs textsträngar? För att göra snyggare utskrifter av resultat Exempel Givet en vektor x skriv ut största elementet >> maxi = max(x); >> disp(['maxvärdet är = num2str(maxi)]); Maxvärdet är = 9.4248 disp - skriver ut det den textsträng som står innanför parentesen num2str omvandlar från numeriskt värde till sträng Textsträngar När behövs textsträngar? T ex för att ha texter på axlarna i bilder, som skapats med plot-kommandot >> x = linspace(0,3*pi,50); y = sin(x); >> plot(x,y); >> title( Sinus mellan 0 till 3\pi ); >> xlabel( x ); ylabel( sin(x) ); \pi i en textsträng är s k LaTeX-syntax och kan användas för att skriva matematisk text Resultatet... Textsträngar...blir det här title(...) ylabel(...) xlabel(...) 27

Textsträngar När behövs textsträngar? Inläsning av värde till variabel med ledtext Om x = input('ge ett tal'); läggs i en kommandofil blir resultatet när filen körs utskriften Ge ett tal: Markören står nu och väntar vid kolontecknet på att den som kör skall ge ett tal. Detta tal tilldelas sedan variabeln x. Cellmatriser Cellmatriser är matriser som kan innehålla data av olika typer i olika positioner (celler), till skillnad från numeriska matriser (med enbart tal). >> A = {'Ellen Olsson', 123476, 47} A = 'Ellen Olsson' [123476] [47] >> A{2,1} = 'Anna Ahl' A = 'Ellen Olsson' [123476] [47] 'Anna Ahl' [] [] Cellmatriser Man kan titta på cellmatriser med kommandot cellplot >> cellplot(a) 28