Tag Archives: switch case in matlab example

Struttura switch e case in Matlab

MATLAB

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: