How can I sort a matrix elementwise ?

2 visualizaciones (últimos 30 días)
Gayan Lankeshwara
Gayan Lankeshwara el 21 de Oct. de 2019
Comentada: Gayan Lankeshwara el 21 de Oct. de 2019
Hi, I need to sort a matrix elementwise and get the results to a single vector without losing the index of each element.
For example,
A = [3, 4 ; 6, 2]
The sorted vector should be ,
B = [2;3;4;6]
without losing the information of each and every element in the original matrix.
Thank you.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 21 de Oct. de 2019
A = [3, 4 ; 6, 2];
[m,~] = size(A);
[B,i] = sort(A(:));
index = [mod(i-1,m) + 1, ceil(i/m)];
  1 comentario
Gayan Lankeshwara
Gayan Lankeshwara el 21 de Oct. de 2019
Hi Andrei,
I tried the code and this is what I wanted.
Thank you.

Iniciar sesión para comentar.

Más respuestas (1)

Stephan
Stephan el 21 de Oct. de 2019
B = sort(reshape(A,[],1))
  3 comentarios
Stephan
Stephan el 21 de Oct. de 2019
[B, idx] = sort(reshape(A,[],1))
[row,col] = ind2sub([size(A,1), size(A,2)],idx)
Gayan Lankeshwara
Gayan Lankeshwara el 21 de Oct. de 2019
Hi Stephan,
This is really what I needed and the inbuilt in2sub function is more powerful I guess.
Thanks.

Iniciar sesión para comentar.

Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by