How to sort a matrix using loops?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I need to sort a matrix from least to greatest without the sort function. It needs to be done in nested loops. For example, I need to take the matrix [9 5;7 4;8 6] and sort it into [4 5;6 7;8 9].
1 comentario
Roger Stafford
el 17 de Abr. de 2016
See this site for a variety of possible algorithms you might use:
https://en.wikipedia.org/wiki/Sorting_algorithm
Respuestas (1)
John BG
el 17 de Abr. de 2016
Editada: John BG
el 17 de Abr. de 2016
Michael
1 for loop is enough
A=randi([-10 10],5,6) % generate input
B=A(:)' % reshape A into straight line
L=length(B)
C=[]
for k=1:L
v=find(B==max(B)) % in case repeated values
C=[C B(v(1))]
B(v(1))=[]
end
If you find this answer of any help solving your question, please click on the thumbs-up vote link, or mark it as accepted answer
thanks in advance
John
2 comentarios
John BG
el 17 de Abr. de 2016
Editada: John BG
el 24 de Abr. de 2016
Actually, you are right, there are other ways to build the variable collecting the result, some good habits die hard, like declaring variables before using them.
The 'bad' you mention, why? Because it's going to size some more bytes disk?
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!