Dichiarazioni di controllo del loop
Con le dichiarazioni di controllo del loop è possibile eseguire ripetutamente un blocco di codice. Esistono due tipi di loop:
Le dichiarazioni
foreseguono il loop un numero specifico di volte e tengono traccia di ciascuna iterazione con una variabile indice incrementale.Ad esempio, pre-allocare un vettore di 10 elementi e calcolare cinque valori:
x = ones(1,10); for n = 2:6 x(n) = 2 * x(n - 1); endLe dichiarazioni
whileeseguono il loop finché una condizione rimane vera.Ad esempio, trovare il primo numero intero
nper il qualefactorial(n)è un numero di 100 cifre:n = 1; nFactorial = 1; while nFactorial < 1e100 n = n + 1; nFactorial = nFactorial * n; end
Ogni loop richiede la parola chiave end.
È buona prassi indentare i loop per garantire la leggibilità, soprattutto quando sono annidati (ossia, quando un loop contiene un altro loop):
A = zeros(5,100);
for m = 1:5
for n = 1:100
A(m, n) = 1/(m + n - 1);
end
endÈ possibile uscire in modo programmatico da un loop utilizzando una dichiarazione break, oppure passare all'iterazione successiva di un loop utilizzando una dichiarazione continue. Ad esempio, contate il numero di righe della guida della funzione magic (ossia, tutte le righe di commento fino alla riga vuota):
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);Suggerimento
Se si crea inavvertitamente un loop infinito (ossia un loop che non termina mai da solo), interrompere l'esecuzione del loop premendo Ctrl+C.
Vedi anche
for | while | break | continue | end