Transform a matrix in a special way

2 visualizzazioni (ultimi 30 giorni)
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 ?

Risposta accettata

Walter Roberson
Walter Roberson il 10 Feb 2021
Modificato: Walter Roberson il 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.

Più risposte (1)

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

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by