
Come ordinare un array su Matlab
In questa lezione ti spiego come fare l'ordinamento (sort) degli elementi di un vettore (array) se utilizzi Matlab.
Ti faccio un esempio pratico.
Crea un array composto da cinque elementi.
>> v = [ 4 2 1 6 3 5 ]
v =
4 2 1 6 3 5
Gli elementi dell'array sono numeri interi disposti in una sequenza non ordinata.
Per ordinare gli elementi dell'array in modo crescente usa la funzione sort(v)
>> sort(v)
ans =
1 2 3 4 5 6
La funzione sort(v) ordina gli elementi dell'array dal più piccolo al più grande.
Per fare l'ordinamento decrescente degli elementi dell'array utilizza la funzione sort() aggiungendo il parametro 'descend'
>> sort(v, 'descend')
ans =
6 5 4 3 2 1
Ora gli elementi dell'array sono ordinati dal più grande al più piccolo.
La funzione sort() ti permette anche di ordinare array multidimensionali.
Ad esempio, crea una matrice 3x3
>> M = [ 1 4 1 ; 2 8 3 ; 5 1 6 ]
M =
1 4 1
2 8 3
5 1 6
Una matrice è un array a due dimensioni perché gli elementi sono disposti in righe e colonne.
Per ordinare gli elementi della matrice digita sort(M).
>> sort(M)
ans =
1 1 1
2 4 3
5 8 6
La funzione sort(M) restituisce una matrice con tutti gli elementi ordinati dal più piccolo al più grande.
Se usi la parola "descend" per ordinare una matrice, Matlab considera ogni colonna della matrice come un vettore e ne ordina gli elementi.
Ad esempio, digita sort(M,"descend").
>> sort(M)
ans =
5 8 6
2 4 3
1 1 1
In questo caso Matlab ordina separatamente le colonne della matrice.
Nota. Ad esempio, la prima colonna è composta dagli elementi 1,2,5. Quindi Matlab la ordina disponendo gli elementi nell'ordine 5,2,1 in verticale. La seconda colonna della matrice è composta dagli elementi 4,8,1. Matlab li ordina disponendoli in verticale nell'ordine decrescente 8,4,1. E via dicendo.

