Lazos de repeticin Los lazos de repeticin (tambin llamados bucles o iteraciones) son otro mtodo para controlar el flujo de un programa. En un lazo un comando o una secuencia de estos se repite varias veces consecutivamente. Cada una de estas repeticiones se denomina paso o iteracin. Uno de los mtodos de definir lazos es con el comando for-end. Lazo forend En este tipo de lazo se realiza un numero definido de iteraciones. En el primer paso k toma el valor de f y el sistema ejecuta los comandos que se encuentran entre las instrucciones for y end. Seguidamente el sistema vuelve a la instruccin for para realizar el segundo paso. Ahora k toma el valor de k=f+s y los comandos anteriores se vuelven a ejecutar. Esto seguir as hasta que k tome el valor de k=t. for k = f:s:t
Lazo forend
programa MATLAB
for k=f:s:t ...... Grupo de comandos de MATLAB
end Por ejemplo, si k = 1:2:9, se llevaran a cabo cinco interaciones y k tomar los valores de 1, 3, 5, 7 y 9 en cada iteracin del bucle. Lazo forend Utilizar un lazo tipo for-end en un archivo script para calcular la suma de los primeros n trminos de la siguiente serie numrica. Ejecutar el fichero para n=4 y n=20. Lazo forend n = input(Introduzca el numero de terminos: ); S = 0; %Valor inicial de la suma for k = 1:n %El paso por defecto es = 1 S = S+(-1)^k*k/2^k; end fprintf(El valor de la serie es: %f,S); >>lazo1 Introduzca el numero de terminos: 4 El valor de la serie es: -0.125000
>>lazo1 Introduzca el numero de terminos: 20 El valor de la serie es: -0.222216 Lazo whileend Otro de los mtodos de definir lazos es con el comando while-end. Este permite realizar un lazo cuando no se conoce de antemano cuantas iteraciones es necesario realizar. while expresion condicional
Lazo whileend while expresion_condicional ...... Grupo de comandos de MATLAB
end Al menos una de las variables de la expresin condicional debe de cambiar de valor por la ejecucin de los comandos que estn entre la sentencia while y la sentencia end. En caso contrario, si ninguna de las variables cambia, la condicin del while se mantendr siempre igual y el bucle nunca acabar (bucle infinito). Lazo whileend Utilizar un lazo while-end para calcular la funcin f(t) = 3e t/100 hasta f(t) = 50.
t = 0; f = 3.*exp(t./100); %Valores iniciales while f <= 50 %Calcular hasta que f <= 50 t = t + 0.01; f = 3.*exp(t./100); end disp(t) %Muestra el resultado >>lazo2
281.3500 break y continue Cuando se introduce el comando break dentro un lazo, termina de forma completa la ejecucin del lazo (no solamente el ltimo paso sino todo el lazo). Cuando este comando aparece la ejecucin salta hasta el comando end del lazo y continua con el siguiente comando (no vuelve hacia arriba en la ejecucin). Por el contrario, el comandos continue detiene la ejecucin del lazo, salta hasta el comandos end y retorna a la parte superior del lazo para una nueva iteracin.