MATLAB - L'istruzione switch

Un blocco switch esegue in modo condizionale un insieme di istruzioni da diverse scelte. Ogni scelta è coperta da una dichiarazione del caso.

Un'espressione switch_expression valutata è uno scalare o una stringa.

Un case_expression valutato è uno scalare, una stringa o un array di celle di scalari o stringhe.

Il blocco interruttore verifica ogni caso fino a quando uno dei casi non è vero. Un caso è vero quando:

  • Per i numeri, eq(case_expression,switch_expression).

  • Per archi, strcmp(case_expression,switch_expression).

  • Per gli oggetti che supportano il eq(case_expression,switch_expression).

  • Per una matrice di celle case_expression, almeno uno degli elementi della matrice di celle corrisponde a switch_expression, come definito sopra per numeri, stringhe e oggetti.

Quando un caso è vero, MATLAB esegue le istruzioni corrispondenti e quindi esce dal blocco switch.

Il otherwise block è opzionale e viene eseguito solo quando nessun caso è vero.

Sintassi

La sintassi dell'istruzione switch in MATLAB è:

switch <switch_expression>
   case <case_expression>
      <statements>
   case <case_expression>
      <statements>
      ...
      ...
   otherwise
      <statements>
end

Esempio

Crea un file di script e digita il seguente codice al suo interno:

grade = 'B';
   switch(grade)
   case 'A' 
      fprintf('Excellent!\n' );
   case 'B' 
      fprintf('Well done\n' );
   case 'C' 
      fprintf('Well done\n' );
   case 'D'
      fprintf('You passed\n' );
   case 'F' 
      fprintf('Better try again\n' );
   otherwise
      fprintf('Invalid grade\n' );
   end

Quando esegui il file, viene visualizzato:

Well done