How to use a matrix of 12*12 to form a matrix of 96*96?

4 vues (au cours des 30 derniers jours)
S Priya
S Priya le 22 Sep 2021
Modifié(e) : Jan le 23 Sep 2021
If B is a 12*12 matrix, and I want to place this B matrix as diagonal matrix of 96*96, How to form this 96*96 diagonal matrix?
  4 commentaires
S Priya
S Priya le 22 Sep 2021
Sorry, its not a diagonal matrix.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 22 Sep 2021
Modifié(e) : Jan le 23 Sep 2021
gLg = kron(eye(8), Lg)
% A small example:
X = [1,2; 3,4];
kron(eye(3), X)
ans = 6×6
1 2 0 0 0 0 3 4 0 0 0 0 0 0 1 2 0 0 0 0 3 4 0 0 0 0 0 0 1 2 0 0 0 0 3 4

Plus de réponses (1)

Paul
Paul le 22 Sep 2021
It's too bad we can't do something like this:
B = [1 2;3 4]; repeats = 2; % use a smaller example
% R = blkdiag(repmat({B},1,repeats){:}) % throws error
and instead have to do this
R = blkdiag(struct('temp',repmat({B},1,repeats)).temp)
R = 4×4
1 2 0 0 3 4 0 0 0 0 1 2 0 0 3 4
  1 commentaire
Stephen23
Stephen23 le 22 Sep 2021
Simpler:
B = {[1,2;3,4]};
R = 2; % use a smaller example
M = blkdiag(B{ones(1,R)})
M = 4×4
1 2 0 0 3 4 0 0 0 0 1 2 0 0 3 4

Connectez-vous pour commenter.

Catégories

En savoir plus sur Operating on Diagonal Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by