答案 0 :(得分:1)
如何将blkdiag与任意数量的输入矩阵一起使用的示例:
m = {[1,2; 3, 4]; [10, 11, 12; 13, 14, 15; 16, 17, 18]}; %cell array of matrices
A = blkdiag(m{:})
然后,您可以通过将矩阵复制到大矩阵A
for(i=1:k-1)
row_begin = 1 + (i-1)*n;
row_end = row_begin + n - 1;
col_begin = 1 + i*n;
col_end = col_begin + n - 1;
A(row_begin:row_end, col_begin:col_end) = B
end
等...
如果您的矩阵非常大但非常稀疏且您的算法保留稀疏性,您可以考虑构建sparse matrix。