【发布时间】:2016-02-23 20:24:12
【问题描述】:
我有多个不同大小的变量:A1xB1 , A2xB2, A3xB3, ...
我想将它们全部放在一个 VOLUME 中,例如 AxBxC。
假设I 可以采用大小为AixBi 的值。
我发现下面的循环:
for ...
Volume = cat(3,Volume,I)
endfor
可以连接 I 并在 I 大小相同的情况下产生 VOLUME。
但是当I 可以采用不同的尺寸时,我该怎么办?
【问题讨论】:
-
这没有意义;
AxB和A1xB1、A2xB2等是什么关系? -
正如@OliverCharlesworth 所指出的,您只能连接相同大小的数组,因为结果必须具有明确定义的大小
n1 x n2 x n3。您可以将原始变量用零填充到出现的最大尺寸,或您可以使用元胞数组,每个元素都是一个不同大小的二维数组。 -
好吧,为了更清楚,假设 A1=A2=A 等和 B1=B2=B 我可以有一个包含大小为 AxB 的 C 个元素的卷
-
@AndrasDeak 谢谢,这就是我想要的。我会尝试使用 Cell Arrays。填充不适合我的情况。
-
谢谢:) 我编辑了我原来的答案,我意识到使用
deal是不必要的。但是,如果您想反转串联,它会有用处,所以我想我会让您知道这一点。
标签: matlab loops concatenation