Med en s.k. if-sats kan man kontrollera om ett villkor är uppfyllt eller ej. Detta görs m.h.a. följande jämförelseoperationer
== , < , > , <= , >= , ~= ,vilka står för lika med, mindre/större än, mindre/större än eller lika med och skilt från.
Om villkoret efter if är sant så utförs kommandot på följande rad, annars går man vidare i programmet.
Ett enkelt program med en if-sats kan i Matlab se ut så här
a=3; b=5; if a > b disp('a större än b') end
Om man vill utföra någon annan operation ifall villkoret i if-satsen ej är uppfyllt så kan man använda sig av ordet else. T.ex.
a=3; b=5; if a>b disp('a större än b') else disp('a mindre än b') endNu har vi dock missat fallet då
a=3; b=5; if a > b disp('a större än b') elseif a == b disp('a är lika med b') else disp('a mindre än b') endObservera att a == b betyder att a skall jämföras med b, och inte att a skall tilldelas värdet på b. Elseif funkar på så sätt att om den föregående if-saten var falsk så testas villkoret för elsif. Om också detta är falskt exekveras raden efter else, men om det å andra sidan är sant så exekveras raderna efter elseif.
Övning: Skriv ett program där du räknar ut ett BMI-värde (se studio 1) och skriver ut var på skalan det ligger. Skalan ser ut enligt följande tabell.
BMI | Diagnos |
---|---|
> 30 | tungvikt |
25-30 | trivselvikt |
20-25 | normalvikt |
< 20 | lättvikt |
Använd t.ex. kod-skalet nedan.
length = weight = BMI = if BMI < 20 disp('lättvikt') elseif ...
Övning: Skriv ett program som loopar igenom vektorn v=[1 0 3 4 7 2 9 5] och skriver ut det största elementet. Tips: v(i) ger element nummer i i vektorn.