MATLAB Answers

Transform a matrix in a special way

26 views (last 30 days)
Hi !
I have this kind of matrix :
A=[1 2 3 4 5 6 7 8 9 10]
And I would like to transform it in this way:
B=[0 1 2 3 4 ; 0 0 5 6 7 ; 0 0 0 8 9 ; 0 0 0 0 10 ; 0 0 0 0 0]
I am looking for a simple method to do it, may you help me please ?

Accepted Answer

Walter Roberson
Walter Roberson on 10 Feb 2021
Edited: Walter Roberson on 10 Feb 2021
fiddle with
B = zeros(5)
B(tril(B,-1)==1) = A;
I posted exact code about two weeks ago. Needs a couple of flips.

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 10 Feb 2021
B=zeros(5);
B(tril(true(5),-1))=A
B=B'

Community Treasure Hunt

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

Start Hunting!