MATLAB - A declaração switch

Um bloco de switch executa condicionalmente um conjunto de instruções de várias opções. Cada escolha é coberta por uma declaração de caso.

Uma switch_expression avaliada é um escalar ou string.

Uma case_expression avaliada é um escalar, uma string ou um array de células de escalares ou strings.

O bloco switch testa cada caso até que um dos casos seja verdadeiro. Um caso é verdadeiro quando -

  • Para números, eq(case_expression,switch_expression).

  • Para cordas, strcmp(case_expression,switch_expression).

  • Para objetos que suportam o eq(case_expression,switch_expression).

  • Para uma matriz de células case_expression, pelo menos um dos elementos da matriz de células corresponde a switch_expression, conforme definido acima para números, strings e objetos.

Quando um caso é verdadeiro, o MATLAB executa as instruções correspondentes e, em seguida, sai do bloco de comutação.

o otherwise block é opcional e executa apenas quando nenhum caso é verdadeiro.

Sintaxe

A sintaxe da instrução switch no MATLAB é -

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

Exemplo

Crie um arquivo de script e digite o seguinte código nele -

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 você executa o arquivo, ele exibe -

Well done