
I cicli su Matlab
In questa lezione di Matlab ti spiego come realizzare una struttura ciclica.
Cos'è una struttura ciclica? E' una struttura usata per compiere operazioni ripetitive. E' anche detta ciclo o loop. Un ciclo esegue più volte lo stesso blocco di istruzioni modificando le variabili di lavoro. Ogni esecuzione completa del blocco di istruzioni è detta iterazione.
Le principali strutture cicliche di Matlab sono le istruzioni for, while e do until.
Il ciclo for
La struttura ciclica for esegue un blocco di istruzioni per un numero predefinito di volte.
for inizio:fine
blocco di istruzioni
end
Tramite l'istruzione for puoi realizzare soltanto un ciclo determinato
E' un ciclo di cui conosci già a priori quante saranno le iterazioni da compiere.
Ecco un esempio di ciclo for
for 1:9
disp(x);
end
Questo ciclo compie 9 iterazioni per stampare una sequenza di numeri da 1 a 9
1
2
3
4
5
6
7
8
9
Per realizzare un ciclo determinato puoi usare anche le istruzioni while oppure do until
Queste altre istruzioni sono però più potenti perché ti permettono anche di realizzare dei cicli indeterminati.
Il ciclo while
Il ciclo while esegue un blocco di istruzioni più volte finché una condizione è soddisfatta.
while condizione
blocco di istruzioni
end
E' un ciclo indeterminato perché potresti non conoscere il numero delle iterazioni del ciclo.
Ad esempio, un ciclo indeterminato potrebbe eseguire 10, 100 o un miliardo di iterazioni.
Se la condizione del ciclo non è soddisfatta fin dall'inizio, il ciclo while non compie nemmeno un'iterazione.
Nota. Se la condizione del ciclo è sempre soddisfatta, il ciclo while itera all'infinito (loop infinito) senza mai finire di girare. Il loop infinito è uno dei problemi da evitare a tutti i costi perché consuma inutilmente le risorse del sistema.
Puoi usare il ciclo while per realizzare sia i cicli determinati che indeterminati.
Ecco un esempio pratico di ciclo while
x=1;
while x<10
disp(x);
x=x+1;
end
Il risultato in output è
1
2
3
4
5
6
7
8
9
Il ciclo do until
Una struttura ciclica do until compie sempre almeno un'iterazione perché la condizione viene controllata alla fine di ogni iterazione.
In Matlab non c'è un'istruzione specifica per realizzare il ciclo do until ma puoi facilmente realizzarlo usando l'istruzione while
Ecco un esempio pratico
cond=true;
x=1;
while cond
disp(x);
x=x+1;
if (x>9)
cond=false;
end
end
Il risultato in output è una sequenza di numeri da 1 a 9
1
2
3
4
5
6
7
8
9
Queste sono le principali strutture cicliche di Matlab.