Ordenar um array em Matlab

Nesta aula, irei detalhar o processo de ordenação de elementos em um array (vetor) utilizando o Matlab.

Consideremos um exemplo prático.

Criemos um array com cinco elementos.

>> v = [ 4 2 1 6 3 5 ]
v =
4 2 1 6 3 5

Os elementos neste array são números inteiros dispostos de forma não sequencial.

Para organizá-los em ordem crescente, utilizamos a função sort(v).

>> sort(v)
ans =
1 2 3 4 5 6

Com isso, a função sort(v) rearranja os elementos do array do menor para o maior valor.

Se o objetivo for ordenar os elementos em ordem decrescente, basta aplicar a função sort() com o parâmetro 'descend'.

>> sort(v, 'descend')
ans =
6 5 4 3 2 1

Desta forma, os elementos são agora apresentados do maior para o menor.

É importante ressaltar que a função sort() também é capaz de ordenar arrays multidimensionais.

Como exemplo, vamos criar uma matriz 3x3.

>> M = [ 1 4 1 ; 2 8 3 ; 5 1 6 ]
M =
1 4 1
2 8 3
5 1 6

Uma matriz é, por definição, um array bidimensional, composto por linhas e colunas.

Para ordenar os elementos nesta matriz, utilizamos simplesmente sort(M).

>> sort(M)
ans =
1 1 1
2 4 3
5 8 6

A função sort(M) então retorna uma matriz com todos os elementos ordenados do menor para o maior.

Utilizando a palavra-chave "descend" ao ordenar uma matriz, o Matlab processa cada coluna da matriz como um vetor independente, ordenando seus elementos individualmente.

Veja, por exemplo, o comando sort(M,"descend").

>> sort(M)
ans =
5 8 6
2 4 3
1 1 1

Nesta situação, o Matlab realiza a ordenação de cada coluna da matriz de maneira isolada.

Imagine, por exemplo, que a primeira coluna de um array contenha os elementos 1, 2 e 5. No Matlab, estes seriam organizados verticalmente como 5, 2 e 1. Da mesma forma, se a segunda coluna tiver os elementos 4, 8 e 1, eles seriam ordenados em ordem decrescente, resultando na disposição vertical de 8, 4 e 1. Esse padrão se repete para as demais colunas e elementos.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Matlab arrays

Vetores

Matrizes

Struct e Cell Array