Transform a matrix in a special way

1 view (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'

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!