У меня есть 812 текстовых файлов в одной папке и 649 текстовых файлов в другой папке (эти текстовые файлы являются дескрипторами изображений), и каждый из текстовых файлов содержит около 3000 номеров с этим шаблоном: первые 5 чисел - это расположение дескрипторов, а 128 - следующие.числа - это значения, которые я хочу сохранить в виде столбца в массиве ячеек, и этот шаблон повторяется до конца текстового файла.и моя цель - извлечь все дескрипторы из массива ячеек 128 * n, где n - количество дескрипторов для всех изображений.вот мой код для извлечения всех дескрипторов всех текстовых файлов в одном массиве ячеек
function cel = affinedesc(fname)
FID = fopen(fname, 'r');
content = textscan(FID, '%s');
content = content{1,1};
cel = cell(1,str2num(content{2,1}));
content = content(3:end);
fclose(FID);
counter = 1;
for i=1:133:length(content)-1
t1 = i+5;
t2 = i+4+128;
cel{counter} = content(t1:t2);
counter = counter+1;
end
cel = cat(2,cel{:});
end
function descscel = affinedescs(dir)
desccel = {};
for i=1:length(dir)
fname = dir(i).name;
cel = affinedesc(fname);
desccel{i} = cel;
end
descscel = cat(2,desccel{:});%here my pc freezes!
end
теперь вот мой вопрос: он работает правильно, но последняя ячейка не отображается в matlabрабочей области, и я не могу сохранить последнюю ячейку для всех текстовых файлов, так как она объединяет все ячейки всех текстовых файлов, и экран моего компьютера зависает.Я думаю, это потому, что мой последний массив ячеек слишком БОЛЬШОЙ, я хотел знать, есть ли лучший способ?
любая помощь приветствуется!