我想要将长度为n
的向量A
在对角线上重复m
次,以获得一个(n+m-1) x m
的矩阵B
。例如,假设A = [a;b;c;d]
,m = 4
,则结果应该是:
B =
[a 0 0 0;
b a 0 0;
c b a 0;
d c b a;
0 d c b;
0 0 d c;
0 0 0 d]
您有没有快速实现此目的的建议?在这种情况下,blkdiag(repmat(A,1,m))
不能满足我的需求,因为它会创建一个(n*m)x m
矩阵。
最终,我实际上只对第三个矩阵C
与B
的矩阵乘积D
感兴趣:
D=C*B
如果您有其他方法可以获得
D
而不必生成B
,我会很感激。但是解决上述问题的方案也会让我很高兴!顺便说一下,n
和m
会非常大。谢谢!
B
并在那里乘以所有零的时间...我只是好奇它是否有效... - Adiel