Home Programmazione Matlab, corso base Capitolo 6: Controllo di flusso: i costrutti if e switch, i cicli for e while.

Page Rank Check    





Ultimi articoli

Capitolo 6: Controllo di flusso: i costrutti if e switch, i cicli for e while.
Guide di programmazione - Matlab, corso base
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 17:49

Guida a Matlab - Corso base - Capitolo 6: controllo del flusso, costrutti if e switch, cicli for e while


Capitolo 6: Controllo di flusso: i costrutti if e switch, i cicli for e while.

Per controllare il flusso dell'esecuzione o effettuare controlli su condizioni, Matlab mette a disposizione, come molti altri linguaggi, i costrutti:

  • if-else-end;
  • switch;
  • for;
  • while.

 

 

Iniziamo dall'if, che verifica se una condizione passata come parametro è "vera", ed in tal caso effettua un'azione; in caso contrario ("else") ne effettua un'altra (opzionale).

E' possibile avvalersi, inoltre, di elseif, che implementa un nuovo blocco if all'interno del precedente, per cui è possibile costruire if annidati.

 

La sintassi è la seguente:

IF expression
statements
ELSEIF expression
statements
ELSE
statements
END

Esempio pratico:

if 2 == 3   
x=4;
elseif 2 < 3
x=5;
else
x=6;
end

Digitando x e premendo Invio, vedremo a video, come valore di x:

5

in quanto la condizione vera (true) è quella dell'elseif: 2<3.

 

 

Il costrutto switch consente anch'esso, come if, di valutare un'espressione O UN VALORE passati come parametro e di intraprendere, in base al valore di tale espressione o del parametro, azioni differenti; a differenza dell'if, comunque, è più "ordinato": le varie possibilità vengono individuate da righe che iniziano con la parola case e le azioni da intraprendere vengono scritte di seguito.

Sintassi di Switch:

SWITCH switch_expr
CASE case_expr,
statement, ..., statement
CASE {case_expr1, case_expr2, case_expr3,...}
statement, ..., statement
...
OTHERWISE,
statement, ..., statement
END

Ad esempio, digitando:

switch(2+3)

case {2,3,4}

x = -1;

case 5

x = 0;

otherwise

x=1;

end

Il valore depositato, alla fine, in x, sarà 0.

 

Il ciclo for ripete una o più azioni n volte, dove n è dato dall'indice di terminazione meno l'indice di partenza del ciclo diviso il "passo" (che, di default, vale 1).

E' possibile annidare i cicli for, ad esempio per scorrere una matrice a due o più dimensioni.

Sintassi del ciclo for in Matlab:

FOR variable = expr, statement, ..., statement END

Esempio pratico: due cicli for, annidati, che pongono a 1 tutti i valori di una matrice 4x4 di nome A

n = 4;

for i=1:n

for j=1:n

A(i,j) = 1;

end

end

Provate, ad esempio, a modificare il ciclo for appena esposto per generare una matrice triangolare inferiore o superiore.

 

 

Il ciclo while è simile al ciclo for, ma non dispone di una informazione sull'incremento nella sua dichiarazione, per cui toccherà a voi gestire questo aspetto (l'esecuzione del ciclo potrebbe non avere mai fine !).

La sintassi è la seguente:

WHILE expression
statements
END

Il seguente esempio incrementa un contatore finchè esso non vale 10:

i = 0;

while (i<10)

i = i+1;

end

Tags:     programmazione      guide      manuali      corso      matlab      capitolo 6      controllo flusso      if      switch      for      cicli      while      esecuzione
Ultimo aggiornamento Domenica 22 Gennaio 2012 14:34
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials