Matlab 简单二维单元阵列附加

Matlab 简单二维单元阵列附加,matlab,Matlab,我有一个二维细胞阵列。我想做以下工作: y = some_number; row(x) = [row(x) another_row(y)]; 但是,直到发生这种情况,才定义行(x),所以它不起作用!当行(x)可能未定义时,如何将另一行(y)附加到行(x)上 抱歉,这在其他语言中很容易做到,但我不确定在MATLAB中如何做到 谢谢。您可以先将行初始化为空数组(或单元格数组),如下所示: row = []; %# Empty array row = {}; %# Empty cell arr

我有一个二维细胞阵列。我想做以下工作:

y = some_number;
row(x) = [row(x)  another_row(y)];
但是,直到发生这种情况,才定义行(x),所以它不起作用!当行(x)可能未定义时,如何将另一行(y)附加到行(x)上

抱歉,这在其他语言中很容易做到,但我不确定在MATLAB中如何做到


谢谢。

您可以先将
初始化为空数组(或单元格数组),如下所示:

row = [];  %# Empty array
row = {};  %# Empty cell array
然后可以将新行附加到数组(或将新单元格附加到单元格数组),如下所示:

有关详细信息,请参阅文档


还应注意,像这样不断增长的阵列效率不高,假设你知道它的最终尺寸,这是一个更好的主意。如果您不知道最终的大小,可能会比一次分配一行更有效。

还不完全清楚您要做什么。您能否给出一个具体的例子,说明您的阵列中可能包含哪些内容,以及您希望在阵列中包含哪些内容?或者用另一种语言编写的代码?
row = [row; another_row(y)];    %# Append a row to the array
row = [row; {another_row(y)}];  %# Append a cell to the cell array