2015-04-25 9 views
0

У меня есть несколько файлов .txt, каждый из которых содержит один и тот же формат.Пакетный импорт данных из файлов .txt - MATLAB

Я читал их в MATLAB индивидуально с помощью:

fid1 = fopen('Test_1.txt','r'); 
data = textscan(fid1, '%f %*f %f %f %f %*[^\r\n]','HeaderLines',4); 

И используя cell2mat для извлечения значений из там.

Как я могу импортировать все .txt-файлы и хранить их все?

До сих пор я обнаружить соответствующие файлы важно с помощью:

files = dir('Test_*.txt'); 

Но я не знаю, как то пакетный импорт каждый файл .txt в указанной выше методике, используя петлю.

+0

Знаете ли вы заранее количество строк в каждом файле? Кстати, у вас есть все «ингредиенты». Вам просто нужен цикл и хранить переменные чтения, где/как вы хотите, например. в одной матрице. – brodoll

+0

Кажется, вы уже задали тот же вопрос: http://stackoverflow.com/questions/29844005/batch-import-of-txt-files-by-filename-matlab. Пожалуйста, воздержитесь от повторных вопросов! – brodoll

+0

Только что понял это (см .: EDIT). Из интереса, есть ли более эффективный способ сделать это без использования цикла? – AnnaSchumann

ответ

1
clear 
data = {}; 
files = dir('Test_*.txt'); 
for i=1:length(files) 
    fn = files(i).name; 
    fid1 = fopen(fn,'r'); 
    data{1,i} = textscan(fid1, '%*f %*f %f %f %f %*[^\r\n]','HeaderLines',4); 
end 
Смежные вопросы