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

2 ビュー (過去 30 日間)
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

採用された回答

Matt J
Matt J 2019 年 3 月 18 日
編集済み: Matt J 2019 年 3 月 18 日
Acell=mat2cell(rand(8,2), ones(1,4)*2,2)
B=blkdiag(Acell{:})
  3 件のコメント
Matt J
Matt J 2019 年 3 月 18 日
You can use a loop to fill a cell array
for i=1:4
Acell{i}=...
end

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOperating on Diagonal Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by