Cody: Problem 30 - function Sortrows
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Marco Castelli
am 27 Jul. 2012
Beantwortet: Fatih Atilla PINAR
am 9 Jun. 2020
Hi,
i'm "solving" number 30 cody's problem.
I think to solve that whit sortrows function.
If I have a z vector:
j = sqrt(-1);
z = [-4 6 3+4*j 1+j 0];
my funtion is:
function z = complexSort(z)
z(2,:)=sqrt(real(z).^2+imag(z).^2);
z=sortrows(z',-2);
z=z(:,1);
end
End it return the result
z =
6.0000 6.0000
3.0000 - 4.0000i 5.0000
-4.0000 4.0000
1.0000 - 1.0000i 1.4142
0 0
The question is: why imagine part in input is positive e sortrows trasform it in negative?
best regards
Marco
0 Kommentare
Akzeptierte Antwort
Ryan
am 27 Jul. 2012
Bearbeitet: Ryan
am 27 Jul. 2012
You were taking the complex conjugate of z. Be careful whenever you use ' to transpose in Matlab!
function z = complexSort(z)
z(2,:)=sqrt(real(z).^2+imag(z).^2);
z=sortrows(z.',-2);
z=z(:,1);
end
That should work for you.
1 Kommentar
Sean de Wolski
am 27 Jul. 2012
+1. Note the . in front of the '
doc transpose %v.
doc ctranspose
Weitere Antworten (1)
Fatih Atilla PINAR
am 9 Jun. 2020
function zSorted = complexSort(z)
zSorted = sort(z,2,'descend');
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!