
Le funzioni sugli array in Octave
Alcune funzioni predefinite di Octave sono dedicate agli array e di permettono di risparmiare molto tempo durante le operazioni di calcolo.
Ti faccio alcuni esempi pratici.
Crea un array con cinque elementi e assegnalo alla variabile vettore.
>> vettore = [ 1 4 2 6 3 ]
vettore =
1 4 2 6 3
Ecco alcune funzioni particolarmente utili.
sum()
Somma gli elementi presenti nell'array
>> sum(vettore)
ans = 16
Spiegazione. E' la somma algebrica dei valori numerici nell'array $$ 1 + 4 + 2 + 6 + 3 = 16 $$
prod()
Moltiplica tutti gli elementi dell'array tra loro
>> prod(vettore)
ans = 144
Spiegazione. Calcola il prodotto degli elementi numerici nell'array $$ 1 \cdot 4 \cdot 2 \cdot 6 \cdot 3 = 144 $$
length()
Trova il numero degli elementi presenti nell'array.
>> length(vettore)
ans = 5
Spiegazione. L'array è composto da cinque elementi [ 1 4 2 6 3 ]
mean()
Calcola la media aritmetica degli elementi numerici dell'array
>> mean(vettore)
ans = 3.2000
Spiegazione. La media aritmetica degli elementi dell'array è uguale alla somma degli elementi fratto il numero degli elementi dell'array $$ \frac{1+4+2+6+3}{5} = \frac{16}{5} = 3.2 $$
max()
Trova il valore massimo presente negli elementi nell'array
>> max(vettore)
ans = 6
Spiegazione. Il valore massimo presente nell'array [ 1 4 2 6 3 ] è sei.
min()
Trova il valore minimo presente negli elementi nell'array
>> min(vettore)
ans = 1
Spiegazione. Il valore minimo presente nell'array [ 1 4 2 6 3 ] è uno.
find()
Trova quali sono gli elementi dell'array che soddisfano un criterio di selezione.
Questa funzione restituisce la posizione degli elementi nell'array e non il loro valore.
>> find(vettore>2)
ans =
2 4 5
Spiegazione. In questo caso i valori maggiori di 2 nell'array [ 1 4 2 6 3 ] sono gli elementi in posizione 2, 4 e 5 ossia il secondo, il quarto e il quinto elemento dell'array.
sort()
Ordina gli elementi del vettore in modo crescente
>> sort(vettore, 'ascend')
ans =
1 2 3 4 6
o in modo decrescente
>> sort(vettore, 'descend')
ans =
6 4 3 2 1
Il secondo parametro è 'ascend' di default.
Quindi, se digiti la funzione sort(vettore) senza indicare il secondo parametro Octave effettua l'ordinamento crescente.
>> sort(vettore)
ans =
1 2 3 4 6
round()
Arrotonda gli elementi dell'array al valore intero più vicino a destra o a sinistra di ogni numero.
>> vettore = [ 0.2 -0.4 1.4 1.9 -2.1 ]
vettore =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> round(vettore)
ans =
0 -0 1 2 -2
fix()
Arrotonda gli elementi dell'array al valore intero più vicino allo zero.
A destra se il numero è negativo o a sinistra se il numero è positivo.
>> vettore = [ 0.2 -0.4 1.4 1.9 -2.1 ]
vettore =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> fix(vettore)
ans =
0 -0 1 1 -2
floor()
Arrotonda gli elementi dell'array al valore intero più vicino a meno infinito (-∞) ossia a sinistra del numero.
>> vettore = [ 0.2 -0.4 1.4 1.9 -2.1 ]
vettore =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> floor(vettore)
ans =
0 -1 1 1 -3
ceil()
Arrotonda gli elementi dell'array al valore intero più vicino a più infinito (+∞) ossia a destra del numero.
>> vettore = [ 0.2 -0.4 1.4 1.9 -2.1 ]
vettore =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> ceil(vettore)
ans =1 -0 2 2 -2