我知道什么是cell array
。我只是遇到了以下代码行:
cell_array = cell([], 1);
什么意思?我们如何阅读上面的那一行?
谢谢。
这将创建一个0x1的空单元格数组。实际上是0行1列。你可以像这样创建一个0x0的单元格数组:
cell_array = {}
这对我来说很有意义。有时候,如果你无法在循环之前预分配,那么在循环中进行连接或使用cell_array(end) = ...
是有用的。
我真的不知道为什么你会更喜欢0x1,但这个问题展示了它与0x0的不同之处。所以我的意思是,如果由于某种奇怪的原因,你在这个空数组上运行for循环,你知道它至少会运行一次: / 但这真的是在寻找理由。我认为只需使用= {}
。
编辑:
正如@radarhead指出的那样,这是一种预设列数的方法,如果您计划在循环中连接新行,则可以使用该方法。
cell
用于分配一个单元数组,此处为 cell_array
。
因此,分配了一个大小为 0x1 的空单元格。 然而,这对于单元格来说是没有用的语法。对于其他(自定义)对象,生成这样的空数组可能是有用的。
myArray = myObject.empty(0, 1);
empty
函数来创建空的单元数组:cell_array = cell.empty(0,1)
。 - Sam Roberts(0,1)
而不是(0,0)
呢? - Dan
cell_array = cell(0, 1)
相同,即创建一个0x1空单元矩阵,但我不知道这样做的原因。例如,如果您只是为循环初始化,可以像这样创建0x0单元数组cell_array = {}
。 - Dan0x1
时,这是字面意思是0
行和1
列吗?我们怎么可能有0
行呢?谢谢。 - Simplicity