9
我有一个2D单元阵列。我要做到以下几点:简单的2D单元阵列追加
y = some_number;
row(x) = [row(x) another_row(y)];
然而,行(X)没有被定义,直到出现这种情况,因此不能正常工作!当行(x)可能没有被定义时,我如何简单地将another_row(y)追加到行(x)上?
对不起,这很容易在其他语言做,但我不知道如何在MATLAB!
谢谢。
我有一个2D单元阵列。我要做到以下几点:简单的2D单元阵列追加
y = some_number;
row(x) = [row(x) another_row(y)];
然而,行(X)没有被定义,直到出现这种情况,因此不能正常工作!当行(x)可能没有被定义时,我如何简单地将another_row(y)追加到行(x)上?
对不起,这很容易在其他语言做,但我不知道如何在MATLAB!
谢谢。
你可以先初始化row
是一个空数组(或单元阵列)如下:
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
查看creating and concatenating matrices以获取更多信息的文档。
还应该注意,像这样增长的数组并不是非常有效。假设你知道它的最终尺寸,这是一个更好的主意。如果您不知道最终尺寸,则allocating array elements in chunks可能会比一次分配一行更有效。
这并不完全清楚你想要做什么。你能否提供一个具体的例子,说明你的阵列中可能存在什么,以及之后你想要的内容?或者使用其他语言的代码很容易? – 2011-03-09 18:21:08