我有一个40x43矩阵,我想用这个矩阵构建一个块来生成更大的矩阵。 我想生成一个像附加图像的结构,构建块是40x43矩阵。我尝试使用[A zeros(20,43);零(20,43)A]但正如我猜测的那样,horzcat确实没有用。理想情况下,我希望使用此块1000次来扩展矩阵的结构。有人能告诉我一种连接小矩阵的有效方法吗?
答案 0 :(得分:2)
尝试使用Kronecker product。这会执行所谓的{{3}},以便对于两个矩阵A
和B
,结果为:
在这种情况下,我们可以通过将A
设置为大小为1000 x 1000和B
的单位矩阵作为您要复制的矩阵来复制您想要的内容。但是,为了促进计算节省和内存使用,请确保使用单元矩阵的稀疏版本。这会将输出矩阵转换为sparse
形式。如果要复制1000次,则需要创建40000 x 43000矩阵,这需要13.76 GB的内存,并且您可能没有足够的内存可用于此矩阵。由于大多数元素为零,因此请改用sparse
版本:
N = 1000;
B = kron(speye(N), A);