Скачать презентацию Föreläsning 14 Matlab fortsättning Funktioner styrstrukturer manipulering av Скачать презентацию Föreläsning 14 Matlab fortsättning Funktioner styrstrukturer manipulering av

859c8e8aa133b62ea9d95d525839fdac.ppt

  • Количество слайдов: 21

Föreläsning 14 Matlab fortsättning Funktioner, styrstrukturer, manipulering av matriser 1 Föreläsning 14 Matlab fortsättning Funktioner, styrstrukturer, manipulering av matriser 1

Kolon operatorn • Man kan lätt skapa en vektor med hjälp av (kolon operatorn) 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] 2

Manipulering av matriser • Följande tre kommandon underlättar manipulering och åtkomst av element i Manipulering av matriser • Följande tre kommandon underlättar manipulering och åtkomst av element i en matris: – (? ) – (? : ? , ? : ? ) • Anta matrisen. 3

Manipulering av matriser M(4) M(1: 4: 9) M(2: 3, 1: 2) 4 Manipulering av matriser M(4) M(1: 4: 9) M(2: 3, 1: 2) 4

Manipulering av matriser M(4)=99 M(1: 4: 9)=[ 3 6 2] M(2: 3, 1: 2)=[ Manipulering av matriser M(4)=99 M(1: 4: 9)=[ 3 6 2] M(2: 3, 1: 2)=[ 3 6 ; 2 4] 5

Kommentarer i Matlab • I de flesta programspråk kan man skriva kommentarer i koden. 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. 6

if-sats • En if-sats används för att välja exekveringsväg. Notera avslutande end och frånvaron 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. ']) 7

if-else-sats • En if-sats används för att välja exekveringsväg. Notera avslutande end, och frånvaron 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 ' num 2 str(a) ' years']) end 8

if-elseif-…-elsif-else-sats if villkor Uttryck end if villkor Uttryck 1 else Uttryck 2 end if if-elseif-…-elsif-else-sats if villkor Uttryck end if villkor Uttryck 1 else Uttryck 2 end if villkor 1 Uttryck 1 elseif villkor 2 Uttryck 2 end Notera elseif och inte elif som i Python. 9

Loopar • För att upprepa ett en del av ett program använder man en 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 10

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

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

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

Funktioner • I Matlab kan man definiera egna funktioner. • Genom att undvika kodupprepning 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. 14

Funktion-Syntax • Namnet på m-filen man skriver funktionen i måste exakt vara samma namn 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(indata 1, indata 2, …), 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. 15

Funktion-exempel • Följande funktion skrivs i en fil som heter CTo. F. m % Funktion-exempel • Följande funktion skrivs i en fil som heter CTo. F. m % funktionen c. To. F omvandlar celsius % till fahrenheit function F = c. To. F(celsius) F = 32+1. 8*celsius 16

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

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

Lös ekvationssystem • Definiera matris: A = [ 2 1 -1 ; -3 -1 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 = Ab 19

Matlab jämfört med Python • Indexering av list/vektor från 1. • Inga kolon för 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. 20

Matlab jämfört med Python • Kolonoperator motsvarar range(), men hör övre gräns inklusive. • 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). 21