2012-02-15 4 views
1

Я пытаюсь загрузить большой текстовый файл в MATLAB. Файл имеет следующий формат:MATLAB: fscanf - сохраняющая столбчатая структура

567.1 339.8 13923645.0 1.3 0.6 
568.0 338.5 13923646.0 1.8 0.9 
569.4 336.9 13923647.0 2.4 1.1 
570.8 337.1 13923648.0 3.3 1.0 
570.8 338.8 13923649.0 4.3 0.6 

Это предназначено для импорта в виде массива [:, 5]. Тем не менее, я использую команду:

inputData = fscanf(fid, '%g\t').'; 

Это приводит цифры, чтобы импортированные как одномерный вектор:

inputData = [567.1 339.8 13923645.0 1.3 0.6 568.0 338.5 13923646.0 1.8 0.9 ... etc] 

Как получить его, чтобы сохранить свою структуру 5 столбцов?

+1

Вы попробовали простой 'A = importdata (filename)'? – Cheery

+0

Я этого не делал! Спасибо. – CaptainProg

ответ

0

Попробуйте использовать команду load. Это самый простой в данном случае

x = load('myFile.txt'); 
0

Вы можете использовать функцию reshape, чтобы создать матрицу x-by-5 ​​из вашего вектора строк.

reshape(inputData, 5, []).' 
0

Если у вас есть только числовые данные, самым простым способом будет использовать DLMREAD:

inputData = dlmread(filename,'\t'); 
1

на основе your other question где вы распределяете из inputData позже на 5 отдельных массивов , Я бы просто прочитал текстовый файл в его 5 отдельных массивах с самого начала.

[x y currentSampleTime velocityX velocityY] = textread('data.txt','%f%f%f%f%f');