1 / 21

Föreläsning 14

Föreläsning 14. Matlab fortsättning Funktioner, styrstrukturer, manipulering av matriser. 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].

Download Presentation

Föreläsning 14

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related