Sort a matrix without using the sort function

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 日

0 投票

[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!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeShifting and Sorting Matrices についてさらに検索

質問済み:

2011 年 5 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by