La struttura switch e case in Matlab ci consente di eseguire gruppi di istruzioni basati sul valore di un variabile o di un’espressione. La keywords case e otherwise delinea i gruppi. Solamente il primo caso è eseguito. Ci deve essere sempre una parola chiave end per lo statement switch .
La logica dell’algoritmo della matrice magic square può, ad esempio, essere descritta anche con il seguente codice Matlab:
switch (rem(n,4)==0) + (rem(n,2)==0) case 0 M = odd_magic(n) case 1 M = single_even_magic(n) case 2 M = double_even_magic(n) otherwise error('This is impossible') end
Diversamente dal linguaggio C, lo switch di MATLAB non commette errori. Se la prima istruzione del costrutto case risulta vera, il restante case statement non è eseguito. Così, non si rendono necessari break statement.
Vediamo ora un altro esempio in cui si visualizza un altro testo condizionale, in funzione di un valore immesso al prompt dei comandi.
n = input('Inserisci un numero: '); switch n case -1 disp('negativo') case 0 disp('zero') case 1 disp('positivo') otherwise disp('altro valore') end
La struttura switch e case in Matlab
LINK DI APPROFONDIMENTO PER L’ARGOMENTO:
- Elementi di programmazione in Matlab
- Manuale Matlab
- Istruzione IF in Matlab
- Il Comando DIARY in Matlab
- Il comando dir in Matlab