Sorting 2D matrix

10 views (last 30 days)
Ashraf Hisham
Ashraf Hisham on 3 May 2018
Edited: Ameer Hamza on 4 May 2018
i wanna sort a 2D Matrix like
a = [1 3 0;5 2 8;4 7 10]
without using any existing function in MATLAB like sort,.... i need an algorithm to sort element by element can any one help ? to be
a = [0 1 2;3 4 5;7 8 10]
  4 Comments
per isakson
per isakson on 4 May 2018
Homework?
See also: Bubble sort
Jan
Jan on 4 May 2018
Sorting a matrix elementwise is a strange job. If you do not consider the rows or columns, why is the input and output a matrix and not a vector? Please confirm that this does exactly what you want with Matlab commands:
a = [1 3 0;5 2 8;4 7 10]
b = reshape(sort(a(:)), size(a))
"No existing Matlab functions" cannot work. Even "=" calls subasgn and ">" calls the gt function. Without built-in functions, there is almost nothing, what can be done in Matlab at all.

Sign in to comment.

Answers (1)

Yuvaraj Venkataswamy
Yuvaraj Venkataswamy on 4 May 2018
Use this commands where a is input matrix and S_a is the your required answer.
a = [1 3 0;5 2 8;4 7 10]
b=sort(a(:));
S_a=vec2mat(b,3);
  1 Comment
Ameer Hamza
Ameer Hamza on 4 May 2018
Edited: Ameer Hamza on 4 May 2018
The question specifically mentioned not to use built-in sort() function.

Sign in to comment.

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!