Effacer les filtres
Effacer les filtres

How to use blkdiag command to create a matrix such that its diagonal blocks are random 2 x 2 matrices?

2 vues (au cours des 30 derniers jours)
for k = 1 : 4
A = rand(2,2)
end
By using the above command I got 4 random matrices.How to create a block diagonal matrix of the form
a 0 0 0
0 b 0 0
0 0 c 0
0 0 0 d
(Size of this matrix will be 8x8.)
such that a is the first random 2x2 matrix , b is the second random 2x2 matrix and so on.
how to use blkdiag command so that I can get a 8x8 r block diagonal matrix with 4 random matrices as their diagonal blocks.
Thanks

Réponse acceptée

Matt J
Matt J le 18 Mar 2019
Modifié(e) : Matt J le 18 Mar 2019
Acell=mat2cell(rand(8,2), ones(1,4)*2,2)
B=blkdiag(Acell{:})
  3 commentaires
Matt J
Matt J le 18 Mar 2019
You can use a loop to fill a cell array
for i=1:4
Acell{i}=...
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Operating on Diagonal 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