Как скомпилировать массивы из многих текстовых файлов в один массив в MATLAB

#matlab

#matlab

Вопрос:

У меня есть текстовый файл наблюдений, количество файлов равно дню в году. Столбцы 1 и 2 в текстовых файлах — это временные и полученные результаты, некоторые из них отсутствуют.

Я хочу объединить 2-й столбец каждого файла в один большой массив.

Я попытался создать ячейку X как большой массив. его размер как (желаемый столбец, желаемая строка) и попытался заполнить ячейку a = X(:,1), но это не решает.

Как мне это сделать?

Ответ №1:

Предположительно, проблема в том, что в каждом файле разное количество элементов.

Предполагая, что данные из каждого файла находятся в массиве ячеек A , вы можете сформировать новый массив следующим образом:

 n = numel(A);
m = cellfun(@(x) size(x,1), A);
B = NaN(max(m), n);
for i = 1:n
    B(1:m(i),i) = A{i}(:,2);
end
  

Однако это не приводит к выравниванию времени наблюдений между файлами. Прокомментируйте, если вам тоже нужно это сделать.