f rel sning 14 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Föreläsning 14 PowerPoint Presentation
Download Presentation
Föreläsning 14

Loading in 2 Seconds...

  share
play fullscreen
1 / 21
Download Presentation

Föreläsning 14 - PowerPoint PPT Presentation

104 Views
Download Presentation

Föreläsning 14

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Föreläsning 14 Matlab fortsättning Funktioner, styrstrukturer, manipulering av 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 ger [1 3 5 7 9] 4:-3:-8 ger [4 1 -2 -5 -8]

  3. Manipulering av matriser • Följande tre kommandon underlättar manipulering och åtkomst av element 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 kan man skriva kommentarer i koden. • Kommentarer gör programmet mer lättläst. • I Matlab är allt mellan % och radslut en kommentar.

  7. if-sats • En if-sats används för att välja exekveringsväg. Notera avslutande end och frånvaron av kolon, jmf med Python. price = input('How much? '); if price >= 135 disp('very expensive but') end disp(['I buy one copy.'])

  8. if-else-sats • En if-sats används för att välja exekveringsväg. Notera avslutande end, och frånvaron av kolon, jmf med Python. 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

  9. if-elseif-…-elsif-else-sats ifvillkor Uttryck end ifvillkor Uttryck1 else Uttryck2 end if villkor1 Uttryck1 elseif villkor2 Uttryck2 end Notera elseif och inte elif som i Python.

  10. Loopar • För att upprepa ett en del av ett program använder man en loopar (slinga). • Det finns två sorters loopar i Matlab: • for • while

  11. Loop-syntax • While-sats while ett_villkor_uttryck uttryck end • For-sats for variabel = vektor uttryck end

  12. Exempel: For-loop • for i = [1 2 4 5] disp(i) end

  13. Exempel: While-loop • i=1 while i < 10 disp(i) i = i + 1 end

  14. Funktioner • I Matlab kan man definiera egna funktioner. • Genom att undvika kodupprepning spar man tid. • En funktion kan skriva i samma fil som huvudprogrammet eller i en separat fil. • En funktion kan ta indata och returnera ett värde.

  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 utdata = funktionensnamn(indata1, indata2, …), här kommer själva beräkningen. utdata måste initieras i funktionen om det är tänkt att funktionen ska returnera något värde.

  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 = 32+1.8*celsius

  17. Funktion-exempel • Följande funktion beräknar arean av en kvadrat. function a = area(x, y) a = x * y

  18. Funktion-exempel • Följande funktion beräknar arean av en vektor av kvadrater eller en kvadrat! function a = area(x, y) a = x .* y

  19. Lös ekvationssystem • Definiera matris: A = [ 2 1 -1 ; -3 -1 2 ; -2 1 2 ] • Definiera kolumnvektor: b = [ 8 -11 -3 ] • Be Matlab att hitta lösning(ar): x = A\b

  20. Matlab jämfört med Python • Indexering av list/vektor från 1. • Inga kolon för att påbörja block. • Avsluta if, for, etc med end. • Strängar skrivs med enkelfnutt: ’ inte med citationstecken.

  21. Matlab jämfört med Python • Kolonoperator motsvarar range(), men hör övre gräns inklusive. • Använd semikolon ; för att undvika att Matlab skriver ut deluttryck (behövs inte i Python).