如何查找单元格数组中最后一个非空元素的索引

StuckInPhD

我初始化了一个很长的单元格数组(向量?)

train_labels = cell(16218, 1);

将使用来自50个不同文件夹的文件填充这些文件,以确保将文件索引到正确的位置,我需要写入的最后一个单元格数组的索引。

例如,读取一个文件夹后,索引train_labels已达到5406现在要从下一个文件夹读取图像,必须将它们保存到下一个索引5407为此,我需要在中找到最后一个非空数组的位置train_labels

由于简单find(train_labels,1,'last')不适用于单元阵列。我用过,cellfun但是那也不起作用。这是我尝试的:

cellfun(@find, train_labels, 'last')
Error using cellfun
Input #3 expected to be a cell array, was char instead.

将不胜感激关于如何获取单元格数组的最后一个索引的任何指导。

谢谢

迪卡卡

cellfun'isempty'选项一起使用-

last_non_empty_index = find(~cellfun('isempty',train_labels),1,'last')

您也可以使用cellfun(@isempty..),但我相信它一定要慢一些。未公开的MATLAB Blog帖子中对此进行了详细讨论

isempty是内置的,因此似乎是一种优化的实现。其他内置插件是在2014A版本cellfun是- ,'isreal''islogical''length''ndims''prodofsize''size' 'isclass'我希望这些也是快速的实现。有关这些的更多信息,请参见其官方文档,可通过访问该文档>> help cellfun

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何找到行中最后一个非空单元格的列位置?

复制到行中最后一个非空单元格

如何找到一个单元格中最大的N个元素的索引?

在单元格可能包含公式的区域中查找最后一个非空列

查找没有VBA的最后一个非空单元格ADDRESS

为什么列中最后一个非空单元格的此Google表格公式有效?

如何使用索引函数返回不为空的最后一个单元格的值

Excel:在过滤范围内查找最后一个非零,非空单元格

从单元格 i 循环到最后一个单元格非空单元格

如何从Matlab的单元格数组中删除最后一个元素?

Excel-查找单元格,导航到左侧的列,获取该列的最后一个非空值

Excel 2013 - 在其他工作表中查找最后一个非空单元格

如何使用java从excel表中获取特定列名(作为参数传递)的最后一个非空单元格的行索引?

在列中查找最后一个空单元格,然后求和以上所有单元格

如何在Excel中的单元格中查找小数的最后一个非零值的位置

显示最后一个非空单元格的地址(如果值不是唯一的)

在包含公式的单元格区域中查找最后一个非空行

查找与值关联的最后一个非空白单元格

如何在另一个工作表上查找连续第n个非空单元格

如何将范围从特定单元格复制到特定列中的最后一个非空单元格

Excel VBA:查找 Excel 表格中的最后一个空单元格,而不是范围

使用Python读取CSV文件行中的最后一个非空单元格

谷歌表格获取行中的最后一个非空单元格

列范围A到Z中的最后一个非空单元格

获取Google表格中列中的最后一个非空单元格

列中的最后一个非空单元格

从不同的 Google Sheet 获取列的最后一个非空单元格

选择excel范围内的最后一个非空单元格

返回以值为条件的最后一个非空单元格