Grunderna i MATLAB. Beräkningsvetenskap och Matlab

Relevanta dokument
Grunderna i MATLAB. Beräkningsvetenskap och Matlab

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

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

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

Grunderna i MATLAB. Beräkningsvetenskap och Matlab

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

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

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

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

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

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

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

MATLAB Matrix laboratory

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

Beräkningsverktyg HT07

Laboration: Grunderna i Matlab

Laboration: Grunderna i MATLAB

Introduktion till Matlab

Introduktion till MATLAB

Datorövning 1: Introduktion till MATLAB

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

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

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

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

Introduktion till Matlab

Introduktion till Matlab

Laboration: Vektorer och matriser

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. 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

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

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. 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:

Introduktion till MATLAB

Introduktion till MATLAB Föreläsning 1

Introduktion till Matlab

Matriser och Inbyggda funktioner i Matlab

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Introduktion till Matlab

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

Linjär algebra med tillämpningar, lab 1

Beräkningsvetenskap föreläsning 2

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

Introduktion till Matlab

Introduktion till Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Matlabövning 1 Funktioner och grafer i Matlab

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

Introduktion till Matlab

TAIU07 Matematiska beräkningar med Matlab

Datorövning 1 Fördelningar

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

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

Matriser och vektorer i Matlab

Matriser och Inbyggda funktioner i Matlab

Matriser och linjära ekvationssystem

Introduktion till Matlab

Instruktion för laboration 1

Kapitel 4. Programmet MATLAB

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

Mer om funktioner och grafik i Matlab

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

Grundläggande kommandon

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

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

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

Laborationstillfälle 1 Lite mer om Matlab och matematik

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

Matematisk Modellering

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

Grafritning och Matriser

MATLAB övningar, del1 Inledande Matematik

Matriser och vektorer i Matlab

Datorövning 1: Fördelningar

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

En introduktion till MatLab

Lab 1, Funktioner, funktionsfiler och grafer.

Funktioner och grafritning i 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

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

Mer om funktioner och grafik i Matlab

1.1 MATLABs kommandon för matriser

Kursinnehåll. Introduktion till kursen. Hederskodex. Programmering

SF1672, Linjär Algebra med Matlab för F1 Lab0

Linjära ekvationssystem

Matriser och linjära ekvationssystem

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

ATT RITA GRAFER MED KOMMANDOT "PLOT"

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

MATLAB handbok Introduktion

MMA132: Laboration 2 Matriser i MATLAB

Linjär algebra med MATLAB

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

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

Sanningar om programmering

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

Transkript:

Grunderna i MATLAB Beräkningsvetenskap I Beräkningsvetenskap och Matlab n Matlab är ett verktyg och programmeringsmiljö som används inom beräkningsvetenskap men även inom andra områden. n Finns även andra verktyg, t ex FreeMat, Maple, Mathematica, Comsol MultiPhysics, och andra programmeringsspråk som C/C++, Fortran, Java 1

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

Vad är MATLAB? n Över 25 tilläggsprogram (toolboxar) finns för speciella tillämpningsområden, t ex: signalbehandling bildbehandling statistik symbolisk matematik finansiell matematik Parallella beräkningar n Körs under UNIX/Linux, Windows eller Macintosh. Användningsområden n Överallt där det förekommer beräkningsproblem n Undervisning: matematik (särskilt linjär algebra), beräkningsvetenskap, fysik, kemi, teknik, ekonomi etc n Forskning: labbmiljö för att testa lösningmetoder, studera, analysera problem, utföra beräkningar och visualisera resultat n Industrin: används på samma sätt som inom forskning exemplevis på utvecklingsavdelningar. T ex inom bioteknik, elektronik, bilindustri etc 3

Att börja använda MATLAB n MATLAB kan användas interaktivt som en avancerad miniräknare. Enkelt! n MATLAB kan också användas som ett programmeringsspråk på ett mer avancerat sätt. Lite svårare, kräver mer kunskap. Att börja använda MATLAB n 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. 4

MATLAB-miljön n Utvecklingsmiljön (MATLAB desktop) har ett flertal fönster, Command window, Current folder, Workspace och Command History. MATLAB-miljön n MATLAB styrs vanligen från kommandofönstret (Command Window) men även från menyerna. n Kommandon ges efter»-promptern och utförs när return-tangenten tryckts ned. n Exempel: n Avsluta matlab: >> 42 + 19 ans = 61 >> exit 5

MATLAB-miljön n 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 ans = 109 MATLAB-miljön n Hjälp fås via menyn Help n Men även att skriva demo i kommandofönstret ger information om hur man använder Matlab 6

MATLAB-miljön Hjälp för enstaka kommandon kan göras direkt i kommandofönstret >> help kommando Ex) Vad gör kommandot exit? >> help exit EXIT Exit from MATLAB. EXIT terminates MATLAB. Variabler i MATLAB En variabel i MATLAB n kan ses som behållare som innehåller ett värde av en viss typ (heltal, rella tal, text, ) n har alltid ett namn Måste börja på bokstav. Använd ej å, ä, ö, space, bindestreck (minus), plustecken etc i namnet n kan tilldelas ett värde n skapas när de behövs, utan speciell deklaration (är av typen matris ). n kan vara fördefinierad, t ex pi >> a = 3 a = 3 >> pi ans = 3.1416 7

Variabler i MATLAB n Variablerna visas i delfönstret Workspace n Kommandona du skrivit visas i Command History Variabler i MATLAB n Kan även lista variabler i kommandofönstret 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 8

Variabler i MATLAB n Variabler kan skrivas ut i olika format >> y = sin(2*pi/3); >> y y = 0.8660 >> format long; y y = 0.86602540378444 >> format long e; y y = 8.660254037844387e- 001 Observera att noggrannheten är lika, det är bara själva utskriften som ändras. >> format short e; y y = 8.6603e-001 >> format short; y y = 0.8660 % Standardformat åter e-001 betyder 10-1 Variabler i MATLAB n Variabler kan sparas på fil och laddas upp vid annan MATLAB-session senare. n I menyn används knapparna Spara Ladda upp n Variabler sparas då som s k MAT-filer, filer med ändelsen.mat n Filen (och variablerna) kan laddas upp senare i samma fönster n MAT-filer kallas binära och är ej läsbara eller editerbara. 9

Spara och hämta variabler n Knappen Import Data kan användas för att ladda in andra format t ex spreadsheets (excel), ljudfiler, filmfiler, etc. n Välj filformat i det fönster som öppnas efter klickat på knappen Spara och hämta variabler n 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 n Kan ladda in variablerna genom load filnamn n Det finns även andra format än mat-formatet att välja på (testa help save) n Kommandona xlswrite och xlsread används till/från Excel 10

Funktioner Det finns mängder av fördefinierade funktioner, t.ex. för n elementär matematik n linjär algebra n grafik i 2D och 3D n integraler och differentialekvationer n statistik n Kurvanpassning Exempel: abs(x),sqrt(x),sin(x),log(x),log10(x), (Help -> Documentation -> Matlab -> Mathematics) Funktioner Man kan också skapa egna funktioner...mer om detta senare i programmeringsdelen i kursen J 11

Några små tips n Piltangent återkallar tidigare kommandon n kan också använda delfönstret command history Dubbelklicka på ett kommando för att upprepa (inkl utföra) kommandot Markera kommandot med musen, dra och släpp i kommandofönstret. Kommandot utförs ej utan man trycker på return för att utföra. Kan på det sättet ändra i kommandot innan utförande. Några små tips n ctrl-c avbryter körningen av ett kommando (men stoppar inte MATLAB) n diary kan användas för att spara skärmutskrifter i en fil >> diary uppg1.txt diverse kommandon här >> diary off % stänger diary Allt som skrivs på skärmen mellan diary och diary off hamnar nu i filen uppg1.txt. Lämpligt att använda för att redovisa körexempel i inlämningsuppgifter t ex. 12

Matriser n Matrisen är den grundläggande datatypen. n En tvådimensionell matris är en tabell med rader och kolonner. n En matris med m rader och n kolonner har storleken m n (m gånger n). n Vektorer är specialfall av matriser, då antal rader eller antal kolonner är 1. Exempel: radvektor, 1 n, och kolonnvektor, m 1. n En matris av storlek 1 1 kallas skalär (vanligt tal). n 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 13

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 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 14

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) ans = 2 2 ans = 5 1 ans = 5 15

Workspace och Array Editor n Om man dubbelklickar på en variabel i delfönstret Workspace så öppnas ett nytt fönster, Array Editor Dubbelklicka på en variabel i Workspace n Kan man ändra variabelvärde men även storlek. Matrisoperationer, aritmetiska n Matematiska operationer på matriser kan göras direkt, C = sin(a); och fungerar då elementvis n Addition/subtraktion OK om samma storlek, t ex C = A + B, där A och B är m n n Matrismultiplikation, C = A*B, fungerar bara om antal kolonner i A är samma som antal rader i B n 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 ans = 9 13 1 Ax = 5 7 2 3 1 2 1 men xa = 1 5 fungerar inte >> x*a??? Error using ==> * Inner matrix dimensions must agree. är OK, 7 3 Vanliga räkneregler för matriser/vektorer gäller! Funktioner och operatorer n 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 n Ä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 17

Att bygga ut en matris Givet skapa 1 A = 5 1 A = 5 2 7 3 7 3 1 >> A = [A; 2 1]; >> temp = [2 1]; >> A = [A; temp]; Skilj på rad- respektive kolonnvektorer! >> temp2 = [2;1]; >> A = [A; temp2]; alternativt??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. Element, rader och kolonner n Man kan arbeta med enskilda element, rader, kolonner, submatriser >> A(2,1) ans = 5 Kolon (:) betecknar hel rad respektive hel kolonn >> A(2,:) ans = 5 3 >> A(2,:) = [0 0] A = 1 7 0 0 2 1 18

Delmatriser, kolon-notation Delmatriser till matrisen A, m n kan skapas snabbt med kolon-notation n A(:,j) j:te kolonnen av A n A(i,:) i:te raden av A n 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 n 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.0500 0.1000 0.1500... 1.9500 2.0000 19

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 t ex när man skapar x-axlar vid grafik Speciella matriskommandon n Finns inbyggda funktioner för att skapa vanliga (och ovanliga) matriser n 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) ans = 1 0 0 1 >> C = zeros(2,2) C = 0 0 0 0 20

Elementvisa operationer n Operationer, t ex *,/,^ kan även utföras elementvis Exempel: B^2 = B*B men B.^2 = b b 2 11 2 21 b b 2 12 2 22 >> B = [1 7;5 3]; >> B^2 ans = 36 28 20 44 >> B.^2 ans = 1 49 25 9 Elementvisa operationer n På samma sätt är B*C vanlig matrismultiplikation mellan två matriser medan B.*C = b11c b21c 11 21 n Ibland kan detta generera fel b b 12 22 c c 12 22 >> a = [2 4]; >> a.^2 ans = >> a^2 4 16??? Error using ==> ^ Matrix must be square. 21

Komplexa tal n Komplexa tal kan skapas med complex >> z = complex(1.2, 2.5) z = 1.2000 + 2.5000i n eller i en beräkning >> z = sqrt(-2) z = 0 + 1.4142i Komplexa tal n Givetvis fungerar vektorer >> z = complex([1.2 3],[-1 2.5]) z = 1.2000-1.0000i -3.0000 + 2.5000i n 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 22

Enkel grafik (2D) n Gången när något ska plottas är Skapa en horisontell axel (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) Enkel grafik (2D) n X-axel skapas genom x = linspace(x0,x1,antal_pkt); eller x = [x0:steglangd:x1]; n Plotkommandot kan utvidgas på många olika sätt, t ex (gör >>help plot) >> plot(x,cos(x), -,x,sin(x), o ) Alternativt: >> plot(x,cos(x), - ) >> hold on; >> plot(x,sin(x), go ) 23

Enkel grafik, histogram n bar(x,y) eller bar(y) n bar(a, stacked ), bar(a, grouped ) n bar3(a) [A är en 6x3 matris nedan]! Enkel grafik, tårtdiagram n pie(x), pie3(x) n pie3(x,utdrag,{ Bit 1, Bit 2, }) 24

3D-grafik n I 3D har man x, y och z-axel n 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 3D-grafik Antag att f ( x, y) = xe 2 2 x y ska plottas i figuren n Axlarna i bilden fås genom n Nätet skapas genom n Funktionsvärdena beräknas för varje x och y- värde! >> x = 0:0.1:1; y = 0:0.2:1; >> [X, Y] = meshgrid(x,y); >> Z = X.* exp(-x.^2 - Y.^2); 25

3D-grafik n Slutligen plotta! >> mesh(x,y,z); 3D-grafik n 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); 26

3D-grafik n Byt mesh mot surf så fås en yta! >> surf(x,y,z); 3D-grafik n Ta bort rutnätet! >> Z=(X.^2+3*Y.^2).*exp(1-X.^2-Y.^2); >> mesh(x,y,z); shading( interp ); 27

3D-grafik n Nivålinjer! >> contour(x,y,z,20); >> contour3(x,y,z,20); Grafik-fönstret n Använd menyerna i grafikfönstret för att rotera, zooma, flytta synvinklar, ändra linjetyper, lägga till text etc. 28

Spara kommandon i M-filer n En kommandofil är ett sätt att lagra kommandon som annars skulle skrivas interaktivt i kommandofönstret n Genom att köra filen så exekveras (utförs) alla kommandon i filen och resultat visas i kommandofönstret (eller grafikfönstret) n Ä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 kommandon i M-filer n M-filer skapas enklast i MATLABs editor skriv edit i kommandofönstret Eller klicka på New Script i menyn n Ett nytt fönster med en editor öppnas där man kan skriva in sina kommandon 29

Spara kommandon i M-filer n Matlabs editor n Skriv in kommandona precis på samma sätt som i kommandofönstret Spara kommandon i M-filer n Spara filen! Viktigt att ha kontroll på i vilken katalog m-filen sparas. 30

Observera att arbetskatalogen och katalogen där filen lagras måste stämma överens annars hittar inte Matlab filen och kan inte köra den. Klicka på mapparna i Current Folder eller på sökvägen i menyraden för att byta arbetskatalog. Spara kommandon i M-filer n 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å run-knappen 31

Spara kommandon 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); Spara kommandon i M-filer n Spara koden och skriv i kommandofönstret >> LisasFil n Koden körs då och ger resultatet Ex: plotta3d.m sphere.m 32

Textsträngar n Textsträngar skrivs innanför fnuttar, dvs >> namn = 'Nisse'; >> hej = ['Hej namn! ] hej = Hej Nisse! >> namn(2) = a namn = Nasse n Exemplet visar att texter (textsträngar, strängar) fungerar som radvektorer Textsträngar När behövs textsträngar? n 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 33

Textsträngar När behövs textsträngar? n 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(...) 34

Textsträngar När behövs textsträngar? n 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. Ex: plotta3d_v2.m Sammanfattning n MATLAB-miljön Command Window (arbetsfönster), Current Folder (filer), Workspace (variabler), Command History (tidigare kommandon) n Variabler i MATLAB Lagrar värden, skapas vid tilldelning, x=3.22; z=1e-20; Kommandon: whos, save, load, format n Matematiska funktioner och beräkningar Matlab fungerar som en avancerad miniräknare +, -, *, /, ^, sqrt(x), sin(x), log(x), exp(x), etc. n Vektorer och matriser A=[ 2 3; 2 1 ]; A(1,2)=4; A(2,:)=[ 3 4 ]; x=linspace(xstart,xstop,nstep); x=xstart:dx:xstop; length, size, zeros, ones, eye, rand, lu(a); x=a\b,.*,./,.^ 35

Sammanfattning n Grafik plot(x,y, r-* ), xlabel, ylabel, title, bar, pie, hold on, clf, print djpeg fig.jpg meshgrid, mesh, surf, shading, contour, contour3 n Textsträngar text= Hej ; text2=[text alla! ]; text2(2)= o ; disp(text), text=num2str(x) n Kommandofiler (M-filer) Alla kommandon kan sparas i en M-fil och köras som ett enkelt program. Kommandona utförs en i taget i ordning. Kommandofiler har ändelsen.m (LisasFil.m) och körs med Runknappen eller genom att skriva filnamnet i kommandofönstret. n Annat nyttigt exit, help, demo, diary, ctrl-c, input, piltangenten 36