Ordenar un arreglo en Matlab
En esta lección, voy a enseñar cómo ordenar elementos dentro de un arreglo (vector) en Matlab.
Consideremos un ejemplo práctico para ilustrar esto.
Primero, creamos un arreglo con cinco elementos.
>> v = [ 4 2 1 6 3 5 ]
v =
4 2 1 6 3 5
En este arreglo, tenemos números enteros en una secuencia sin orden específico.
Para organizar los elementos del arreglo en un orden ascendente, empleamos la función sort(v).
>> sort(v)
ans =
1 2 3 4 5 6
Con sort(v), los elementos se alinean de menor a mayor, siguiendo un orden lógico.
Si queremos ordenar los elementos de manera descendente, hacemos uso de la función sort() y agregamos el argumento 'descend'.
>> sort(v, 'descend')
ans =
6 5 4 3 2 1
Ahora, los elementos del arreglo se presentan del mayor al menor.
Además, la función sort() nos permite trabajar con arreglos multidimensionales.
Veamos un ejemplo: creamos una matriz de 3x3.
>> M = [ 1 4 1 ; 2 8 3 ; 5 1 6 ]
M =
1 4 1
2 8 3
5 1 6
Recordemos que una matriz es un arreglo bidimensional, ya que sus elementos se organizan en filas y columnas.
Para ordenar los elementos en la matriz, simplemente utilizamos sort(M).
>> sort(M)
ans =
1 1 1
2 4 3
5 8 6
Así, la función sort(M) devuelve una matriz con todos sus elementos ordenados del menor al mayor.
Si empleamos el término "descend" al ordenar una matriz, Matlab procesa cada columna de la misma como si fuera un vector independiente y los ordena en consecuencia.
Por ejemplo, al escribir sort(M,"descend").
>> sort(M)
ans =
5 8 6
2 4 3
1 1 1
En este caso, Matlab ordena las columnas de la matriz de manera independiente.
Imaginemos, por ejemplo, que la primera columna de un arreglo contiene los elementos 1, 2 y 5. En Matlab, estos se ordenarían verticalmente como 5, 2 y 1. Del mismo modo, si la segunda columna incluye los elementos 4, 8 y 1, Matlab los ordenaría en orden descendente, quedando así 8, 4 y 1. Este patrón se repite para las demás columnas y sus elementos.