2011-10-31 99 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 
相关问题