添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • if , elseif , else

    Ejecutar instrucciones si la condición es verdadera

    Sintaxis

    if expression
        statements
    elseif expression
        statements
        statements
    

    Descripción

    ejemplo

    if expression , statements , end evalúa una expresión y ejecuta un grupo de instrucciones cuando la expresión es verdadera. Una expresión es verdadera cuando su resultado no está vacío y solo contiene elementos distintos a cero (lógicos o numéricos reales). En caso contrario, la expresión es falsa.

    Los bloques elseif y else son opcionales. Las instrucciones se ejecutan solo si las expresiones anteriores del bloque if...end son falsas. Un bloque if puede incluir varios bloques elseif .

    Ejemplos

    contraer todo

    Cree una matriz de unos.

    nrows = 4;
    ncols = 6;
    A = ones(nrows,ncols);

    Recorra la matriz en bucle y asigne a cada elemento un nuevo valor. Asigne 2 en la diagonal principal, -1 en las diagonales adyacentes y 0 en todas las demás.

    for c = 1:ncols
        for r = 1:nrows
            if r == c
                A(r,c) = 2;
            elseif abs(r-c) == 1
                A(r,c) = -1;
                A(r,c) = 0;
    A
    A = 4×6
         2    -1     0     0     0     0
        -1     2    -1     0     0     0
         0    -1     2    -1     0     0
         0     0    -1     2    -1     0
    

    Las expresiones que incluyen operadores relacionales sobre arreglos, como A > 0 , son verdaderas solo cuando cada elemento del resultado es distinto de cero.

    Compruebe si algún resultado es verdadero con la función any .

    limit = 0.75;
    A = rand(10,1)
    A = 10×1
        0.8147
        0.9058
        0.1270
        0.9134
        0.6324
        0.0975
        0.2785
        0.5469
        0.9575
        0.9649
    
    if any(A > limit)
        disp('There is at least one value above the limit.')
        disp('All values are below the limit.')
    end
    There is at least one value above the limit.
    

    Compare los arreglos con isequal en lugar del operador == para comprobar la igualdad, porque == da lugar a error cuando los arreglos tienen tamaños diferentes.

    Cree dos arreglos.

    A = ones(2,3);
    B = rand(3,4,5);

    Si size(A) y size(B) son iguales, concatene los arreglos; de lo contrario, se muestra una advertencia y se devuelve un arreglo vacío.

    if isequal(size(A),size(B))
       C = [A; B];
       disp('A and B are not the same size.')
       C = [];
    end
    A and B are not the same size.
    

    Utilice strcmp para comparar vectores de caracteres. El uso de == para comprobar la igualdad da lugar a error cuando los vectores de caracteres tienen tamaños diferentes.

    reply = input('Would you like to see an echo? (y/n): ','s');
    if strcmp(reply,'y')
      disp(reply)
    end

    Determine si un valor es distinto de cero. Utilice el operador ~= para comprobar la desigualdad.

    x = 10;
    if x ~= 0
        disp('Nonzero value')
    end
    Nonzero value
    

    Determine si un valor está dentro de un rango especificado.

    x = 10;
    minVal = 2;
    maxVal = 6;
    if (x >= minVal) && (x <= maxVal)
        disp('Value within specified range.')
    elseif (x > maxVal)
        disp('Value exceeds maximum value.')
        disp('Value is below minimum value.')
    end
    Value exceeds maximum value.
    

    Más acerca de

    contraer todo

    Expresión

    Una expresión puede incluir operadores relacionales (como < o == ) y operadores lógicos (como && , || o ~ ). Utilice los operadores lógicos and y or para crear expresiones compuestas. MATLAB ® evalúa las expresiones compuestas de izquierda a derecha, respetando las reglas de prioridad de los operadores.

    Dentro de la expresión condicional de un bloque if...end , los operadores lógicos & y | se comportan como operadores de cortocircuito. Este comportamiento es el mismo que && y || , respectivamente. Dado que && y || se cortocircuitan sistemáticamente en las instrucciones y expresiones condicionales, se recomienda utilizar && y || en lugar de & y | dentro de la expresión. Por ejemplo,

    x = 42;
    if exist('myfunction.m','file') && (myfunction(x) >= pi)
        disp('Expressions are true')
    end

    La primera parte de la expresión se evalúa como falsa. Por tanto, MATLAB no necesita evaluar la segunda parte de la expresión, lo que provocaría un error de función indefinido.

    Sugerencias

    • Puede anidar cualquier número de instrucciones if . Cada instrucción if requiere una palabra clave end .

    • Evite agregar un espacio después de else dentro de la palabra clave elseif ( else if ). El espacio crea una instrucción if anidada que requiere su propia palabra clave end .

    Capacidades ampliadas

    Generación de código C/C++
    Genere código C y C++ mediante MATLAB® Coder™.

    Historial de versiones

    Introducido antes de R2006a

    Ha hecho clic en un enlace que corresponde a este comando de MATLAB:

    Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.