Main Content

Instrucciones de control de bucle

Con instrucciones de control de bucle, puede ejecutar de manera repetida un bloque de código. Existen dos tipos de bucles:

  • Las instrucciones for se repiten un número específico de veces y realizan un seguimiento de cada iteración con una variable de índice en aumento.

    Por ejemplo, asigne previamente un vector de 10 elementos y calcule cinco valores:

    x = ones(1,10);
    for n = 2:6
        x(n) = 2 * x(n - 1);
    end
  • Las instrucciones while se repiten siempre y cuando la condición se mantenga verdadera.

    Por ejemplo, encuentre el primer número entero n para el que factorial(n) es un número de 100 dígitos:

    n = 1;
    nFactorial = 1;
    while nFactorial < 1e100
        n = n + 1;
        nFactorial = nFactorial * n;
    end

Cada bucle requiere la palabra clave end.

Es recomendable sangrar los bucles para mejorar su legibilidad, en especial cuando están anidados (es decir, cuando un bucle contiene otro bucle):

A = zeros(5,100);
for m = 1:5
    for n = 1:100
        A(m, n) = 1/(m + n - 1);
    end
end

Puede salir de un bucle de forma programática con una instrucción break o saltar a la siguiente iteración de un bucle con una instrucción continue. Por ejemplo, cuente el número de líneas en la ayuda para la función magic (es decir, todas las líneas de comentarios hasta llegar a una línea en blanco):

fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
    line = fgetl(fid);
    if isempty(line)
       break
    elseif ~strncmp(line,'%',1)
       continue
    end
    count = count + 1;
end
fprintf('%d lines in MAGIC help\n',count);
fclose(fid);

Sugerencia

Si inadvertidamente crea un bucle infinito (un bucle que nunca termina por sí mismo), detenga la ejecución del bucle pulsando Ctrl + C.

Consulte también

| | | |