2011-10-31 100 views
1

blkdiag使用varargin從輸入參數(每個矩陣需要插入對角線)構造塊對角線矩陣。將變量傳遞給具有可變長度輸入參數的函數

out = blkdiag(a,b,c,d,...),其中a, b, c, d, ...是矩陣, 輸出

enter image description here

假設我有矩陣的單元陣列的形式的塊對角矩陣(或一些其他數據結構);我將如何將此功能提供給像blkdiag這樣的功能?

+0

該死。剛想出答案。嗯... – Jacob

+0

@Phonon:這通常不是好的形式:) – Jacob

+0

但它確實給那些在SO上尋求幫助的人提供了很好的信息。 – Phonon

回答

3

使用{:}拓展它的功能:

blocks = cell(2); 
blocks{1} = rand(2); 
blocks{2} = rand(2); 
out = blkdiag(blocks{:}) 

答:

out = 

0.6787 0.7431   0   0 
0.7577 0.3922   0   0 
    0   0 0.6555 0.7060 
    0   0 0.1712 0.0318 
相關問題