
Come estrarre i valori di un array su Octave
In questa guida ti spiego come estrarre i valori di un array tramite lo slicing con un esempio pratico.
Crea un array con sette valori
>> v=[10 11 12 13 14 15 16]
v =
10 11 12 13 14 15 16
Se vuoi estrarre i primi tre valori digita b=v(1:3)
>> b=v(1:3)
b =
10 11 12
Questo comando estrae la sequenza dei primi tre valori dell'array v e li scrive nell'array b.
Il primo elemento di array su Octave ha l'indice uguale a uno.
Nota. Il simbolo dei due punti (:) separa la posizione del primo e dell’ultimo valore che vuoi estrarre dal vettore.
Se invece vuoi estrarre il terzo, quarto e quinto valore dell'array v digita b=v(3:5)
>> b=v(3:5)
b =
12 13 14
Se vuoi estrarre il primo, il terzo e il quinto valore dell'array v digita b=v([1 3 5])
>> b=v([1 3 5])
b =
10 12 14
Per estrarre due intervalli separati, ad esempio il primo e il secondo valore insieme al sesto e al settimo, digita b=v([1:2 6:7])
>> b=v([1:2 6:7])
b =
10 11 15 16
Per estrarre l'ultimo valore dell'array digita b=v(end)
>> b=v(end)
b = 16
La parola end ti permette anche di estrarre gli ultimi valori dell'array quando non conosci l'ultimo indice.
Ad esempio, per estrarre i valori dal quarto fino alla fine digita
>> b=v(4:end)
b =
13 14 15 16
Per estrarre gli ultimi tre valori dell'array digita b=v(end-2:end)
>> b=v(end-2:end)
b =
14 15 16
Per estrarre solo i valori con indice dispari digita b=v(1:2:end)
Il parametro intermedio (2) è il passo ossia l'incremento da una posizione dell'array alla successiva.
>> b=v(1:2:end)
b =
10 12 14 16
Il passo può essere anche negativo.
In questo modo puoi anche invertire l'ordine dei valori nell'array dall'ultimo al primo digitando b=v(end:-1:1)
>> b=v(end:-1:1)
b =
16 15 14 13 12 11 10
Puoi anche sostituire i valori dell'array con altri valori.
Ad esempio, sostituisci il primo e il secondo valore dell'array con 20 e 21 digitando v([1 2]) = [20 21]
>> v([1 2]) = [20 21]
v =
20 21 12 13 14 15 16
Se vuoi sostituire più valori dell'array con uno stesso valore.
Ad esempio, sostituisci il primo e il secondo valore dell'array con 99 digitando v([1 2]) = 99
>> v([1 2]) = 99
v =
99 99 12 13 14 15 16
Lo slicing ti permette di estrarre e modificare l'array in modo semplice e veloce.
Se questa lezione di Nigiara ti piace, continua a seguirci.