misbehaving of sort function, for looping the first and last rows not orienting to my expected results and well as specified indexes not corrects
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Eng. Fredius Magige
il 13 Apr 2017
Modificato: Stephen23
il 21 Apr 2017
Hi misbehaving of sort function, for looping the first and last rows not orienting to my expected results and well as specified indexes not corrects. Any assistance will be appreciated too. see the code:
>> a=[7 9 5 7; 1 5 8 9; 1 2 7 3;10 0 9 9]
[A B]=sort(a)
a =
7 9 5 7
1 5 8 9
1 2 7 3
10 0 9 9
A =
1 0 5 3
1 2 7 7
7 5 8 9
10 9 9 9
B =
2 4 1 3
3 3 3 1
1 2 2 2
4 1 4 4
>> [sizr sizc]=size(a);
aaa=zeros(sizr,sizc);
for i=1:4
if(A(B(i,3),3)>A(B(i,2),2)), aaa(B(i,3),:)=a(B(i,3),:), aA=A(B(i,3),3)
else, aaa(B(i,2),:)=a(B(i,2),:), aA=A(B(i,2),2)
end, end
aaa =
0 0 0 0
0 0 0 0
0 0 0 0
10 0 9 9
aA = 9
aaa =
0 0 0 0
0 0 0 0
1 2 7 3
10 0 9 9
aA = 8
aaa =
0 0 0 0
1 5 8 9
1 2 7 3
10 0 9 9
aA = 7
aaa =
0 0 0 0
1 5 8 9
1 2 7 3
10 0 9 9
aA = 9
6 Commenti
Rik
il 13 Apr 2017
So the problem is not with the output of sort? What is the goal of this code? You may be better off posting in your own language.
Roger Stafford
il 13 Apr 2017
As far as I can make out, you are expecting the sorting to occur along the rows, but the ‘sort’ function sorts along the columns unless you specify otherwise.
sort(a,1) sorts along each column
sort(a,2) sorts along each row
sort(a) by default sorts along each column
Risposta accettata
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!