Я инициализируется очень длинный массив ячеек (вектор?)Как найти индекс последнего непустого элемента в массиве ячеек
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.
Поблагодарили бы за какие-либо указания относительно того, как получить последний индекс массива ячеек.
Спасибо
+1 специально для этой ссылки –
Отличный совет. Я забыл все о специальных кодах. Я всегда предполагал, что 'bsxfun' также имеет специальные коды кода, чтобы сделать обычные операционные системы, такие как' plus' и 'times' быстрыми, но для этого нужны только функции. Я бы сказал, что у него все еще есть особые случаи для функций, которые перечисляли ему помощь и общую обработку для пользовательских дескрипторов. – chappjc
@chappjc Да, на самом деле у них появилось несколько других встроенных модулей, если вы смотрите в исходный код 'cellfun'! Должно быть интересно попробовать! – Divakar