Converting each cell of an array to one block diagonal matrix
    4 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Vishnu Kant
 le 9 Sep 2018
  
    
    
    
    
    Réponse apportée : Ilias Misailidis
 le 11 Juin 2020
            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 commentaires
Réponse acceptée
Plus de réponses (1)
  Ilias Misailidis
 le 11 Juin 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.

Someone to help me :-) 
0 commentaires
Voir également
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!



