数组中结束的索引

时间:2015-05-13 07:15:31

标签: matlab matrix indexing cell-array

如何知道单元格数组中最后一项的索引? 例如我想将一个项目添加到单元格数组的末尾,所以我使用

    a{1}(1,end+1) = 1

现在我想知道相当于" end+1"的指数是多少?在那个声明中?

感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

end只代表相应维度的变量大小

whatIsEnd = size( a{1}, 2 ); %// size along second dim

因此,end+1whatIsEnd+1

如果单元格数组a包含许多元素,并且您希望知道每个元素的end,则可以考虑使用cellfun

whatIsEnd = cellfun( @(x) size(x,2), a );

重要提示:
您是在数组结尾后添加元素(位置end+1)。虽然这段代码工作正常但不建议,因为您正在更改数组大小,如果不小心这可能会导致性能损失。
您可以在this thread

中阅读有关更改matlab数组大小和预分配的更多信息

答案 1 :(得分:2)

您可以使用size():

a = cell(1);
a{1} = [1,2,3];

index = size(a{1},2)+1;