Sort a matrix without using the sort function

12 次查看(过去 30 天)
To study, I am trying to sort a matrix using for loops. I used a template I had for finding a max.
[row,column]=size(a);
sortmx=zeros(size(a));
for n=1:column
mx=a(1,n);
for p=2:row
if a(p,n)>mx
mx=a(p,n);
else
mx=a(p-1,n);
end
end
sortmx(n,p)=mx
end

回答(1 个)

Paulo Silva
Paulo Silva 2011-5-5
[row,column]=size(a);
for nc=1:column
for nr=1:row
[C,I]=max(a(nr:row,nc));
b=a(nr,nc);
a(nr,nc)=C;
a(I(1)+nr-1,nc)=b;
end
end
  2 个评论
Roland
Roland 2011-5-5
I am failing at getting anything correct, how would order each number in an individual column rather than find one value?
Matt Fig
Matt Fig 2011-5-5
Did you search MATLAB Answers first? I found at least two identical questions from past posters....
This must be a popular homework question indeed!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by