Transform a matrix in a special way

2 vues (au cours des 30 derniers jours)
Baptiste Charrier
Baptiste Charrier le 10 Fév 2021
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 ?

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Fév 2021
Modifié(e) : Walter Roberson le 10 Fév 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.

Plus de réponses (1)

Fangjun Jiang
Fangjun Jiang le 10 Fév 2021
B=zeros(5);
B(tril(true(5),-1))=A
B=B'

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by