If I have matrix a=[1 2; 3 4; 5 6; 7 8] (dimension 4x2) and i want to calculate
A= [1 2 0 0 0 0 0 0;
3 4 1 2 0 0 0 0;
5 6 3 4 1 2 0 0;
7 8 5 6 3 4 1 2]
(dimension 4x8),
how can i do?
Thanks.

 Réponse acceptée

Matt J
Matt J le 6 Déc 2019
Modifié(e) : Matt J le 6 Déc 2019
ac=num2cell([0,0;a],2);
T=toeplitz(1:4,[1,zeros(1,3)]);
A=cell2mat(ac(T+1))
A =
1 2 0 0 0 0 0 0
3 4 1 2 0 0 0 0
5 6 3 4 1 2 0 0
7 8 5 6 3 4 1 2

3 commentaires

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH le 6 Déc 2019
Excelent!
Image Analyst
Image Analyst le 6 Déc 2019
Jesus, can you "Accept this answer" to give Matt credit for it? Thanks in advance.
SV
SV le 6 Déc 2019
Amazing! Thank for your help

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Question posée :

SV
le 6 Déc 2019

Commenté :

SV
le 6 Déc 2019

Community Treasure Hunt

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

Start Hunting!

Translated by