我正在寻找 MATLAB 中以下操作的有效实现。
假设有A = blkdiag(A_1,...,A_i,...,A_n)
和B = blkdiag(B_1,...,B_i,...,B_n)
。假设有两个块f(A_i,B_i)
和输出变量的一些功能F = blkdiag(f(A_1,B_1),...,f(A_i,B_i),...,f(A_n,B_n))
。因此,我向您寻求有关如何在不使用循环的情况下完成此任务的帮助。
在我的情况下f(A_i,B_i) = U'*kron(A_i,B_i)*U'
,对于一些矩阵U
,n
大约是 100。块A_i
和B_i
所有 i 的大小相同。所有帮助将不胜感激。