Académique Documents
Professionnel Documents
Culture Documents
for i=1:n
sentencias
end
o bien,
for i=vectorValores
sentencias
end
donde vectorValores es un vector con los distintos valores que tomar la variable i. En el
siguiente ejemplo se presenta el caso ms general para la variable del bucle (valor_inicial:
incremento: valor_final); el bucle se ejecuta por primera vez con i=n, y luego i se va
reduciendo de 0.2 en 0.2 hasta que llega a ser menor que 1, en cuyo caso el bucle se
termina:
for i=n:-0.2:1
sentencias
end
En el siguiente ejemplo se presenta una estructura correspondiente a dos bucles anidados.
La variable j es la que vara ms rpidamente (por cada valor de i, j toma todos sus posibles
valores):
for i=1:m
for j=1:n
sentencias
end
end
Una ltima forma de inters del bucle for es la siguiente (A es una matriz):
for i=A
sentencias
end
en la que la variable i es un vector que va tomando en cada iteracin el valor de una de las
columnas de A. Cuando se introducen interactivamente en la lnea de comandos, los
bucles for se ejecutan slo despus de introducir la sentencia end que los completa.
For end
La sintaxis formal de la estructura de flujo de control For...End for es:
Cada vez que el bucle se ejecuta, el valor del contador se incrementa en el valor
especificado por el parmetro opcional Expresion_Incremento. Si no especifica
Expresion_Incremento, la variable contador se incrementar por defecto en uno (1).
Expresion_Inicio
,
Expresion_Fin
y
Expresion_Incremento
son evaluadas una sola vez al comienzo del bucle. Si estas expresiones son variables, su
modificacin al interior del bucle no afectar el bucle.
If-else-end
Sintaxis
Si expresin
Declaraciones
Elseif expresin
Declaraciones
ms
Declaraciones
fin
Descripcin
ejemplo
If expresin, sentencias, end evala una expresin y ejecuta un grupo de sentencias
cuando la expresin es verdadera. Una expresin es verdadera cuando su resultado es no
vaca y contiene slo elementos distintos de cero (lgico o real numrico). De lo contrario,
la expresin es falsa.
Los bloques elseif y else son opcionales. Las sentencias slo se ejecutan si las expresiones
anteriores en el bloque if ... end son falsas. Un bloque if puede incluir mltiples bloques
elseif.
While-end
Sintaxis
Mientras que la expresin
Declaraciones
fin
Descripcin
Mientras que expresin, sentencias, end evala una expresin y repite la ejecucin de un grupo de
instrucciones en un bucle mientras la expresin es verdadera. Una expresin es verdadera cuando
su resultado es no vaca y contiene slo elementos distintos de cero (lgico o real numrico). De lo
contrario, la expresin es falsa.
fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
continue
end
count = count + 1;
end
count
count = 31
fclose(fid);