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 :)

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Jan. 2018

1 Stimme

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

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by