Cody: Problem 30 - function Sortrows
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Marco Castelli
el 27 de Jul. de 2012
Respondida: Fatih Atilla PINAR
el 9 de Jun. de 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 comentarios
Respuesta aceptada
Ryan
el 27 de Jul. de 2012
Editada: Ryan
el 27 de Jul. de 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 comentario
Sean de Wolski
el 27 de Jul. de 2012
+1. Note the . in front of the '
doc transpose %v.
doc ctranspose
Más respuestas (1)
Fatih Atilla PINAR
el 9 de Jun. de 2020
function zSorted = complexSort(z)
zSorted = sort(z,2,'descend');
end
0 comentarios
Ver también
Categorías
Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!