MATLAB – Sentencias condicionales

Las declaraciones condicionales son algo muy básico e importante para todo programador. Habrá algunas situaciones en las que un programa o un bloque en particular deba ejecutarse solo cuando una condición específica sea Verdadera . Estas declaraciones condicionales serán muy útiles y fructíferas en tales situaciones. Estas declaraciones condicionales funcionan igual que en otros idiomas. Sin embargo, la sintaxis varía de un idioma a otro. Las siguientes son las declaraciones condicionales que podemos usar en MATLAB.

  • si-fin
  • if-else-fin
  • si finaliza anidado
  • if-elseif-elseif-else-fin
  • caso de interruptor
  • caja de interruptores anidados

Sentencia if-end

Una declaración if-end es la declaración de toma de decisiones más simple. Decide si un bloque de código en particular debe ejecutarse o no, según la condición booleana dada. Solo cuando la condición dada es verdadera, ejecuta las declaraciones dentro del bloque; de ​​lo contrario, no.

Sintaxis:

si (condición)

  % declaración(es) se ejecutarán

  % si la expresión booleana es verdadera  

  <afirmaciones>

final

Ejemplo:

MATLAB

% MATLAB program to illustrate
% if-end statement
  
number = 28;
  
if number>10
    fprintf('The number is greater than 10.');
end

 Producción:

The number is greater than 10.

instrucción if-else-end

En la declaración condicional if, el bloque adicional de código se fusiona como declaración else que se realiza cuando la condición es falsa ; la condición else no se ejecutará cuando la condición es verdadera

Sintaxis:

si (condición)

  % declaración(es) se ejecutarán

  % si la expresión booleana es verdadera  

  <afirmación(es)>

más

  <afirmación(es)>

  % declaración(es) se ejecutarán 

  % si la expresión booleana es falsa  

final

Ejemplo 1:

MATLAB

% MATLAB program to illustrate
% if-else-end statement
  
number = 28;
  
if number<10
    fprintf('The number is greater than 10');
else
    fprintf('The number is not less than 10');
end

 Producción:

The number is not less than 10

Ejemplo 2: también puede enstringr declaraciones if-else-end con más de una condición.

MATLAB

% MATLAB program to illustrate
% if-else chaining
  
number = 28;
  
if number<10
    fprintf('The number is less than 10\n');
else
    if number<20
        fprintf('The number is less than 20\n');
    else
        fprintf('The number is less than 30\n');
    end
end

Producción:

The number is less than 30

Declaración if-end anidada

Hay algunas situaciones en las que se deben cumplir múltiples condiciones para ejecutar un bloque de código, luego usamos declaraciones if-end anidadas. Esto no es más que otra (s) condición(es) if dentro de una condición if .

Sintaxis:

si (condición)

  % Se ejecuta cuando la expresión booleana 1 es verdadera  

  si (condición)

     % Se ejecuta cuando la expresión booleana 2 es verdadera    

  final

final

Ejemplo:

MATLAB

% MATLAB program to illustrate
% Nested if-end statements
  
number = 2;
  
if number<10
    fprintf('The number is less than 10\n');
      
    % Executes when then above if
    % condition is true
    if number<5
        fprintf('Also The number is less than 5');
    end
      
end

Producción:

The number is less than 10
Also The number is less than 5

if-elseif-elseif-else-fin

Una declaración if puede ir seguida de uno (o más) elseif opcionales y una declaración else , que es muy útil para probar varias condiciones.

Sintaxis:

si (condición)

  % Se ejecuta cuando la expresión 1 es verdadera  

  <afirmación(es)>

elseif (condición)

  % Se ejecuta cuando la expresión booleana 2 es verdadera

  <afirmación(es)>

elseif (condición)

  % Se ejecuta cuando la expresión booleana 3 es verdadera  

  <afirmación(es)>

más  

  % se ejecuta cuando ninguna de las condiciones anteriores es verdadera  

  <afirmación(es)>

final

Ejemplo:

MATLAB

% MATLAB program to illustrate
% if-elseif-else-end statement
  
number = 28;
  
if number<10
    fprintf('The number is less than 10\n');
elseif number<20
    fprintf('The number is less than 20\n');
elseif number<30
    fprintf('The number is less than 30\n');
else
    fprintf('The number is less than 40\n');
end

 
Producción:

The number is less than 30

Caso del interruptor

Un bloque de cambio es familiar para las declaraciones if-elif-else-end . Funciona igual que en otros idiomas excepto por la sintaxis. Pero hay pocas diferencias clave entre ellos. Un bloque de interruptor ejecuta condicionalmente un conjunto de declaraciones de varias opciones. Cada opción está cubierta por una declaración de caso. Una expresión de cambio puede ser cualquiera de las siguientes.

  • Números
  • Caracteres
  • Instrumentos de cuerda
  • Objetos

Aquí la comparación de expresiones de string y expresiones de mayúsculas y minúsculas distingue entre mayúsculas y minúsculas. Cada carácter de una expresión de string de cambio debe coincidir con la expresión de string de mayúsculas y minúsculas.

Sintaxis:

interruptor (condición)

  condición del caso

     <afirmaciones>

  caso (condición)

     <afirmaciones>

     …

     …

  de lo contrario

     <afirmaciones>

final

Ejemplo 1:

MATLAB

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

 
Producción:

Excellent!

Ejemplo 2: 

MATLAB

% MATLAB program to illustrate
% String evaluation while using
% switch case
  
% First letter of the name was
% given small letter intentionally
name = 'geeksforGeeks'
    
switch(name)
    case 'GeeksforGeeks'
        fprintf('Hello from %s',name);
    otherwise
        fprintf('Not Matched!');
end

Producción:

Not Matched!

Ejemplo 3:

MATLAB

% MATLAB program to illustrate
% switch case
  
days = 28;
  
switch(days)
   case 28 
      fprintf('Normal Year!\n' );
   otherwise
      fprintf('Leap Year\n' );
end

 
Producción:

Normal Year!

Caso de interruptor anidado

Esto es similar a las declaraciones if anidadas. Podemos usar switch como parte de la instrucción dentro de un switch. Incluso si las constantes de caso del interruptor interno y externo contienen valores comunes, no surgirán conflictos. 

Sintaxis:

interruptor (condición) 

  caso (condición)  

     <afirmaciones>

     interruptor (condición)  

        caso (condición)

        <afirmaciones>

              …..

     final    

  caso (condición)

     <afirmaciones>

final

Ejemplo: este ejemplo explica cómo funciona la comparación de strings y casos de interruptores anidados en MATLAB.

MATLAB

% MATLAB program to illustrate
% nested switch case
  
days = 29;
month = 'February'
    
switch(days)
   case 29 
      fprintf('This Year is ' );
   switch month
       case 'february'
           fprintf('Leap Year!\n' );
       otherwise
           fprintf('Not Leap Year!\n' );
   end     
end

Producción:

This Year is Not Leap Year!

Nota:

  1. A diferencia de otros lenguajes de programación, no necesitamos usar una declaración de interrupción en caso de cambio .
  2. A diferencia de otros lenguajes de programación, no usamos ningún tipo de paréntesis (es decir,(),{},: ) al escribir condiciones en declaraciones condicionales (es decir, si, si anidado, etc.). Usamos la declaración final para terminar una declaración condicional.
  3. Utilice punto y coma (;) siempre que sea necesario para evitar resultados no deseados.

Publicación traducida automáticamente

Artículo escrito por pavan_rachapudi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *