1 Ingenjörsmetodik IT & ME 2009
2 Dagens tema Att tänka rätt är stort att tänka fritt är större MATLAB programmering är väldigt kreativt men minsta tecken har en noga definierad betydelse
3 Läsanvisning till EKM 1. Introduction (läs 1.3) 2. Matlab environment (Hela) 3. Matlab functions (3.1.1, ) 4. Plotting (främst 4.1) översiktligt 5. Programmering (främst 5.3 funktioner och 5.4 for-loopar) Symbolisk matematik bara symbolisk derivering 8. Numeriska metoder (främst samt 8.5 numerisk derivering) A. Appendix med funktioner mm
4 Dagens föreläsning Grunderna i MATLAB, vad är en MATRIS??? Vanliga kommandon Grafer och figurer bla ’Plot-funktionen’ Enkla program/funktioner
5 Grunderna i MATLAB MATLAB kan Räkna med matriser, vektorer och komplexa tal Skapa grafer (olika varianter av plotkommandot) Användas för programmering och mer komplicerade beräkningar Symbolisk matematik (symbolic toolbox)
6 Grunderna i MATLAB Vad är en matris? Ett sätt att samla ihop flera tal för en beräkning Vanligaste exemplet är en vektor
7 Grunderna i MATLAB >> a=[1 2] a = 1 2 >> b=[3 4]' b = 3 4 >> >> kallas prompten [] (fyrkantiga parenteser) skapar en matris Det lilla tecknet ’ ändra formen på en matris genom att byta plats på rader och kolumner
8 Vektorer & matriser Byt mellan rad och kolumnvektor med kommandot ’ (transponat) Ta reda på vilken vektortyp du har genom kommandot size Den första siffran i svaret syftar på RADERNA, den andra på KOLUMNERNA >> size(a) ans = 1 2 >> size(b) ans = 2 1 >> size(b') ans = 1 2
9 Grunderna i MATLAB >> c=[ ] c = >> Ett kommando kan matas in på flera rader
10 Grunderna i MATLAB >> c=[ ]; >> Ett semikolon ; efter inmatningen gör att inget svar skrivs ut Detta är NORMALVARIANTEN i LÅNGA UTRÄKNINGAR för att det ska bli SNABBARE!
11 Grunderna i MATLAB De vanliga räknesätten fungerar även för matriser och vektorer MATLAB använder ofta symbolen punkt ’.’ för matrisberäkningar, dvs när flera uträkningar ska göras ’samtidigt’ Följande kombinationer finns för elementvis operation:.*./.^.+.- finns men behövs inte!
12 Grunderna i MATLAB Elementvis operationer används när ingående variabler har samma ’form’ radvektor.* radvektor Kolumnvektor./ kolumnvektor ’2x2’ Matris.* ’2x2’ matris I alla andra fall används de vanliga räknesätten +,-,*,/,^ För matriser finns även ett ’felvänt’ divisionstecken \
13 Vektorer & matriser >> a*b ans = 11 >> b*a ans = >>
14 Vektorer & matriser För att räkna med.* måste alla variabler ha samma ‘form’ >> a.*b ??? Error using ==> times Matrix dimensions must agree. >> a.*b' ans = 3 8
15 Uppräkning För att t.ex. Skapa värden på en x-axeln kan man göra en uppräkning till en vektor >>x=-3:0.01:3; Svaret i detta fall hamnar i 601 kolumner, se nedan Columns 598 through Column
16 Uppräkning Andra nyttiga varianter är zeros(rader,kol) ones(rader,kol)
17 Studentaktivitet Övning skapa 1:ans till 3:ans multiplikationstabell och presentera resultatet i en tabell. Behöver inte vara tjusigt Använd uppräkning, vektorer och/eller matriser
18 HELP kommandot help HELP topics matlab\general - General purpose commands. matlab\ops - Operators and special characters. matlab\lang - Programming language constructs. matlab\elmat - Elementary matrices and matrix manipulation. matlab\elfun - Elementary math functions. matlab\specfun - Specialized math functions. matlab\matfun - Matrix functions - numerical linear algebra.
19 HELP kommandot Finns en sammanfattning på sidan i boken >> help ops Operators and special characters. Arithmetic operators. plus - Plus + uplus - Unary plus + minus - Minus - uminus - Unary minus - mtimes - Matrix multiply * times - Array multiply.* mpower - Matrix power ^ power - Array power.^ mldivide - Backslash or left matrix divide \ mrdivide - Slash or right matrix divide / ldivide - Left array divide.\ rdivide - Right array divide./
20 HELP menyn Snabbkommando F1 tangenten
21 Exempel Omvandla vinklar från grader till radianer theta=[ ]' theta =
22 En enkel vektorberäkning radianer=pi/180*theta radianer =
23 Inbyggda funktioner mean(theta) ans = >> std(theta) ans =
24 Index medel=sum(theta)/8 medel = >> medel=(theta(1)+theta(2)+theta(3)+theta(4)+... theta(5)+theta(6)+theta(7)+theta(8))/8 medel = Vanliga parenteser ( ) kallas index för ett matriselement
25 Inbyggda funktioner >> n=size(theta) n = 8 1 >> n(1) ans = 8
26 Inbyggda funktioner Standaravvikelsen med vektorberäkning och (elementvis upphöjt till 2).^2 >> s=sqrt(1/(n(1)-1)*sum((theta-medel).^2)) s =
27 Grafer och figurer Plot kommandot för att rita ut mätpunkter Line kommandot för linjer >> plot(theta,'ro') >> line([1 8],[medel medel]) >> line([1 8],[medel+s medel+s]) >> line([1 8],[medel-s medel-s])
28 Grafer och figurer >> hist(theta)
29 Funktioner 1.Öppna matlab-editorn 2.Definiera in- och ut-värden till funktionen 3.Skriv in dina ekvationer 4.Spara filen med samma namn som funktionen
30 Funktionen stat.m function [medel,s] = stat(x) n = length(x); medel = sum(x)/n; s = sqrt(sum((x-medel).^2/(n-1)));