Matlab 使用一个小矩阵通过一次又一次地连接它来生成一个更大的矩阵

Matlab 使用一个小矩阵通过一次又一次地连接它来生成一个更大的矩阵,matlab,Matlab,我有一个40x43矩阵,我想用这个矩阵作为构建块来生成更大的矩阵。 我想生成一个像所附图像一样的结构,构建块是40x43矩阵。我试着使用[A zero(20,43);zero(20,43)A],但正如我所猜测的,horzcat不起作用。理想情况下,我想使用这个块1000次来扩展矩阵的结构。谁能告诉我一种连接小矩阵的有效方法吗 尝试使用。这将执行已知的,对于两个矩阵A和B,结果是: 在这种情况下,我们可以通过将A设置为大小为1000 x 1000的单位矩阵,将B设置为要复制的矩阵,精确复制您想要

我有一个40x43矩阵,我想用这个矩阵作为构建块来生成更大的矩阵。 我想生成一个像所附图像一样的结构,构建块是40x43矩阵。我试着使用[A zero(20,43);zero(20,43)A],但正如我所猜测的,horzcat不起作用。理想情况下,我想使用这个块1000次来扩展矩阵的结构。谁能告诉我一种连接小矩阵的有效方法吗

尝试使用。这将执行已知的,对于两个矩阵
A
B
,结果是:

在这种情况下,我们可以通过将
A
设置为大小为1000 x 1000的单位矩阵,将
B
设置为要复制的矩阵,精确复制您想要的内容。但是,为了节省计算和内存使用,请确保使用身份矩阵的稀疏版本。这将把输出矩阵转换为稀疏形式。如果要复制1000次,您需要创建一个40000 x 43000的矩阵,这需要13.76 GB的内存,您可能没有足够的内存用于此矩阵。由于大多数元素为零,请改用
sparse
版本:

N = 1000;
B = kron(speye(N), A);

我的回答有用吗?我不得不稍微修改一下你的代码以获得完全相同的输出,但这大大简化了我的工作。谢谢