creating multidiagonal matrix from a basic square matrix

For a finite difference code I need to create a multidiagonal matrix from a basic square matrix A:
How can I do this without using a for loop?

 Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 8 de Oct. de 2017
Editada: Andrei Bobrov el 8 de Oct. de 2017
A = magic(3);
n = 8;
B = repmat({A},1,n);
out = blkdiag(B{:});

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 8 de Oct. de 2017

Comentada:

el 8 de Oct. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by