Converting each cell of an array to one block diagonal matrix
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I have a cell array where each cell contains different size of square adjacency matrix for example
A = 29x29 double
30x30 double
24x24 double
10x10 double
Now I want to create One Block diagonal matrix B from each cell of A such that each cell Of A is in the diagonal in B. Example
B = [29X29] 0 0 0 0 0 0 0 0 0 0
0 0 [30x30] 0 0 0 0 0 0 0
0 0 0 0 [24X24] 0 0 0
0 0 0 0 0 0 [10x10]
so B would NxN where N = 29+30+24+10
I tried with the following code but it did not work.
function B =blockD(A)
n=size(A,1);
for i = 1:n
B=blkdiag(A{i});
end
end
Also at the end I have to row normalised matrix B
0 Commenti
Risposta accettata
Più risposte (1)
Ilias Misailidis
il 11 Giu 2020
Hi my name is Ilias and i am new entry to Matlab. I am trying to make a block matrix 9x9 like foto for my homework to university and nothing happened with code.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/314138/image.png)
Someone to help me :-)
0 Commenti
Vedere anche
Categorie
Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!