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.




Non hai risolto il tuo problema? Scrivi una domanda