Bucles


Bucle for

El bucle for hace que sea más conveniente para contar las iteraciones de un bucle. La forma general para declarar un for es:

for variable = expresion

    cuerpo

end

Donde el cuerpo significa cualquier declaración o lista de instrucciones, expresión cualquier expresión válida, y variable puede tomar varias formas. Por lo general, se trata de un nombre de variable simple o una variable indexada. Si el valor de la expresión es una estructura, variable también puede ser un vector de dos elementos.    

La expresión de asignación en el comando for, funciona de forma diferente a lo normal. En lugar de asignar el resultado completo de la expresión, se asigna cada columna de la expresión a su vez a variable. Si la expresión es un rango, un vector fila, o un escalar, el valor de variable será un escalar cada vez que se ejecuta el cuerpo del bucle. Si variable es un vector columna o una matriz, variable será un vector columna cada vez que e ejecuta el cuerpo del bucle.

Para entender bien el funcionamiento de un bucle for, vamos a poner un ejemplo. Supongamos que tenemos un vector columna, y queremos que se muestren cada uno de los elementos de este vector, por ello el código a usar será el siguiente: 

V = [1 ; 2 ; 3 ; 4] % Vector que tenemos

[f,c] = size(V) % La función size devuelve dos valores, el primero indica el numero de filas, el segundo el numero de columnas, por lo que se almacenan en las variables f y c

for i = 1:f % i tomara los valores de 1 a f

    V(i,1) % mostrara los elementos del vector uno a uno

end

También podemos usarlo para recorrer un vector de elementos, en este caso vamos a tener un vector fila, el código que se va a usar es el siguiente:

V = [1 2 3 4] % Vector que tenemos

for elemento = V % elemento irá tomando el valor de cada elemento del vector en cada vuelta

    elemento % mostrara los elementos del vector uno a uno

end



Bucle while

Este tipo de bucle realiza una operación mientras su condición es válida, la estructura de este tipo de bucle es la siguiente:

 while condicion do

    cuerpo

end

En este tipo de bucles la condición se evalúa antes de que el cuerpo se ejecute por primera vez. Si la condición es verdadera, se entra en en cuerpo del bucle, se evaluará y ejecutará el cuerpo hasta que la condición sea falsa.

Para entenderlo mejor vamos a ver un ejemplo, en el que vamos a tener un número que empieza en 0, y va a entrar en un bucle while que se evaluará mientras este número sea menor que 10 y dentro del bucle iremos incrementando en uno este número, por ello el número finalmente valdrá 10.

n = 0

while n < 10

    n = n + 1; % El valor de dicha variable incrementa en 1 unidad

end



Crea un bucle for que cada elemento de la matriz:

M = [1 2 ; 3 4 ; 5 6]