2014-11-11 2 views
0

Мне нужно извлечь данные из текстового файла с каким-то странным форматом с помощью matlab, но я не могу этого сделать, поскольку много текста и функции, которые я знаю, не работают в Это дело. Данные расположены в разных наборах (более 200) по некоторым 2000 значениям каждый.Как загрузить/импортировать текстовый файл со странным форматом в matlab

Вот как отформатирован данные в текстовом файле:

Первые строки набора являются те

@legend string 0 "Partition= 1 Excit= 1 near/far= 1" 
#legend string 0 "Lab energy = 737.0000" 
@s0 linestyle 1 
# Theta  sigma  iT11  T20   T21   T22   Kyy for projectile 
    0.1000E-01 1.000  
    0.1000E-01 1.000  
    0.2000E-01 1.001  
    0.3000E-01 1.001  

Это продолжается и до

19.98  0.1659  
    19.99  0.1654  
    20.00  0.1649  
END 

Конечным текст обозначает конец набора. Затем начинается новый набор

@legend string 1 "Partition= 1 Excit= 2 near/far= 1" 
#legend string 0 "Lab energy = 737.0000" 
@s1 linestyle 2 
# Theta  sigma  iT11  T20   T21   T22   Kyy for projectile 
    0.000  26.40  
    0.1000E-01 26.41  
    0.2000E-01 26.45  
    0.3000E-01 26.52 

И это до конца.

Поскольку «заголовки» каждого набора одинаковы, а количество строк в наборе одинаково, я мог бы легко извлечь наборы, которые я хочу, просто выбрав строки матрицы, которые я хочу ... Но как могу ли я импортировать этот текстовый файл в матрицу или что-нибудь еще?

Благодаря

ответ

1

Вы можете использовать что-то вроде этого

fid = fopen('file1.txt'); 
tline = fgetl(fid); 
while ischar(tline) 
    disp(tline) %your parsing code here 
    tline = fgetl(fid); 
end 
fclose(fid); 
+0

Спасибо. Отсюда я могу справиться! – mwoua

Смежные вопросы