2012-02-15 3 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 = [567.1 339.8 13923645.0 1.3 0.6 568.0 338.5 13923646.0 1.8 0.9 ... etc] 

가 어떻게 그것의 5 열 구조를 유지하기 위해 어떻게해야합니까 :

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

이 한 차원 벡터로 가져에 숫자를 발생합니다 그러나, 나는 명령을 사용하고 있습니다?

+1

간단한 'A = importdata (filename)'을 사용해 보셨습니까? – Cheery

+0

나는하지 않았다! 고맙습니다. – CaptainProg

답변

0

load 명령을 사용해보십시오. 나중에 5 개 별도의 배열로 inputData을 분할하는 경우

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

reshape 함수를 사용하여 행 벡터에서 x 행 5 행렬을 만들 수 있습니다.

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

하는 가장 쉬운 방법은 DLMREAD 사용하는 것이 경우 가장 쉬운 방법입니다 , 텍스트 파일을 처음부터 5 개의 개별 배열로 읽는 것입니다.

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

your other question을 바탕으로 : 그것은 당신이 단지 숫자 데이터가있는 경우

x = load('myFile.txt');