数组结尾的索引

index of end in array

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

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

现在我想知道那个语句中相当于“end+1”的索引是什么?

感谢任何帮助。

你可以使用 size():

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

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

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 数组大小和 预分配 的更多信息