
Il ciclo FOR su Matlab
In questa lezione ti spiego come realizzare un ciclo tramite l'istruzione FOR su Matlab
Cos'è un ciclo for? E' una struttura ciclica che esegue lo stesso blocco di codice per un determinato numero di volte. Ogni esecuzione del blocco è detta iterazione.
Questa è la sintassi dell'istruzione for usata su Matlab
for variabile = inizio:passo:fine
blocco di istruzioni
end
Nella prima riga devi indicare la variabile contatore del ciclo e tre parametri
- L'inizio è il valore iniziale del contatore del ciclo
- Il passo (o step) è l'incremento del contatore dopo ogni iterazione. Se non lo specifichi, di default è uguale a +1.
- La fine è il valore finale del contatore del ciclo che determina la fine del loop.
Il blocco di istruzioni è una sequenza di istruzioni da eseguire in ogni iterazione del ciclo.
La parola end al termine del blocco di istruzioni indica la fine del blocco di istruzioni.
Nota. Il ciclo for è un ciclo determinato perché fin dall'inizio sai quante iterazioni dovrà compiere. Se vuoi realizzare un ciclo indeterminato devi usare le istruzioni while e do until.
Ti faccio un esempio pratico
Digita questo script per stampare i numeri da 1 a 9
for x=1:9
disp(x);
end
In questo caso la variabile contatore è la variabile x.
L'istruzione for ha soltanto due parametri 1:9 che indicano l'inizio (1) e la fine (9) del ciclo.
Il passo (o step) non è indicato. Quindi Matlab considera un incremento unitario (+1) di default.
Il risultato dello script è il seguente
1
2
3
4
5
6
7
8
9
Se vuoi puoi anche indicare un incremento diverso da uno.
Ad esempio, questo script incrementa il passo di 2 dopo ogni iterazione
for x=1:2:9
disp(x);
end
La funzione for ha tre parametri 1:2:9 che indicano l'inizio (1), il passo (2) e la fine (9) del ciclo.
In questo modo lo script può stampare solo i numeri dispari da 1 a 9
1
3
5
7
9
Puoi anche impostare un passo negativo se vuoi realizzare un decremento anziché un incremento.
Ad esempio questo script applica il passo negativo -1 dopo ogni iterazione
for x=9:-1:1
disp(x);
end
L'istruzione for ha tre parametri 9:-1:1 che indicano il valore iniziale (9), il passo (-1) e il valore finale (1).
In questo caso il valore iniziale è più grande del valore finale (1) perché lo step è negativo (-1).
Il risultato in output è un conto alla rovescia da 9 a 1
9
8
7
6
5
4
3
2
1
Il ciclo for ti permette anche di scorrere tutti gli elementi di un array o di qualsiasi altro oggetto iterabile.
Ad esempio, in questo script l'istruzione for x=v stampa gli elementi dell'array v=[1 2 3 4]
v = [1 2 3 4];
for x=v
disp(x);
end
Il risultato in output è il seguente.
1
2
3
4

