#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
Однако это не приводит к выравниванию времени наблюдений между файлами. Прокомментируйте, если вам тоже нужно это сделать.