1 Föreläsning 13 programmeringsteknik och Matlab Funktioner, styrstrukturer, mer om matriser
2 Kolon operatorn Man kan lätt skapa en vektor med hjälp av : (kolon operatorn) enligt nedan: startvärde : intervall : maxvärde T.ex: 1:2:10 är samma som [ ] 4:-3:-8 är samma som [ ]
3 Manipulering av matriser Följande tre kommando underlättar manipulering och åtkomst av elementer i en matris: –(?) –(?:?:?) –(?:?, ?:?) Anta matrisen.
4 Manipulering av matriser M(4) M(1:4:9) M(2:3,1:2)
5 Manipulering av matriser M(4)=99 M(1:4:9)=[ 3 6 2] M(2:3,1:2)=[ 3 6 ;2 4]
6 Kommentarer i Matlab I de flesta programspråk finns det möjlighet att skriva kommentarer blandad i koden. Kommentarer är till för att den som ska använda programmet få lite lättare att förstå komplicerade kod. I Matlab alla rader som börjar med tecknet % kommer att vara kommentarer.
7 If-sats I vissa lösningar behöver man ibland skriva ett programmet där ett val måste göras beroende på om ett villkor uppfylls eller inte. price=input('What is the price of the book? '); if price >= 135 disp('very expensive but') end disp(['I buy one copy of the book.'])
8 If-syntax if villkor Uttryck end if villkor Uttryck1 else Uttryck2 end if villkor1 Uttryck1 elseif villkor2 Uttryck2 end
9 If-else I vissa lösningar behöver man ibland skriva ett programmet där ett val måste göras beroende på om ett villkor uppfylls eller inte. T.ex: age = input(’How old are you? ') ; If age >= 20 disp('welcome to systembolaget') else a = 20-age ; disp(['sorry, you must wait ' num2str(a) ' years']) end
10 Slingor Ibland vill man att upprepa en sak några gånger, då använder man sig av slingor Det finns två följande typ av slingor i Matlab: –for –while
11 Slingor-syntax While-sats while ett_villkor_uttryck uttryck end For-sats for definition_av_en_vektor, uttryck end
12 Slingor -exampel for i=[ ], disp(i) end
13 Funktioner I Matlab kan man definiera egna funktioner. Genom att definiera egna generella funktioner kan man återanvända koden och därmed spara tid. Genom att definiera funktioner kan man undvika kodupprepning.
14 Parametrar En generell funktion tar oftast in en eller flera indata och returnerar en utdata.
15 Funktion-Syntax Namnet på m-filen man skriver funktionen i måste exakt vara samma namn som funktionen. Syntaxen ser så här ut: function [utdata1, utdata2,…] = funktionensnamn(indata1,indata2,…), här kommer själva beräkningen. utdata1,utdata2 osv måste initieras i funktionen om det är tänkt att funktionen ska returnera något värde. Om funktionen ska returnera ett utdata behöver man inga klamrar [].
16 Funktion-exempel Följande funktion skrivs i en fil som heter CToF.m %funktionen cToF omvandlar Celsius %till Fahrenheit function F = cToF(celsius) F = *celsius
17 Funktion-exempel Följande funktion beräknar arean oc omkrets av en cirkel med radie r. function [area, omkrets] = omkrarea(radie) area = pi*radie^2; omkrets=2*pi*raide;
18 Skalärprodukt dot är en inbyggd funktion som används för att beräkna skalärprodukt av två vektorer: >>> a=[1,2,3]; >>> b=[3,4,5]; >>> dot(a,b) ans= 26
19 Kryssprodukt cross är en inbyggd funktion i Matlab som används när man vill göra beräkna kryssprodukt av två vektorer. >>> a=[1,2,3]; >>> b=[3,4,5]; >>> cross(a,b) ans= [-2, 4, 2]
20 Linjära ekvationssystem Lös följande ekvationssyetm
21 Ekvationslösning forts… Börja med att stappla variablerna under varandra:
22 Ekvationslösning forts… Förbered till matriser enligt nedan:
23 Låt matlab lösa det >> A=[ ; ; ; ; ] >> B=[ ]’ >> A\B ans=