How to transpose certain elements in a matrix

Hi,
I have 5by5 matrix, A:
0 9 2 0 0
0 0 0 1 0
0 3 0 5 0
0 0 0 -3 0
0 0 -1 8 0
where I want to transpose only the positive numbers.
Note: The corresponding transposed location is always zero.
so the answer should look like this, B:
0 0 0 0 0
9 0 3 0 0
2 0 0 0 0
0 1 5 -3 8
0 0 -1 0 0
Thanks a lot for your help :)

 Respuesta aceptada

B = A.*(A<0) + (A.*(A>0)).' ;

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by