2015-01-08 5 views
-1

한다고 가정 우리는 다음 한 데이터 파일 가져 오기

Month High  Low Average 
    1 45.36 33.84 39.6 
    2 50.87 35.98 43.43 
    3 56.05 38.55 47.3 
    4 60.49 41.36 50.92 
    5 67.17 46.92 57.05 
    6 73.82 52.8 63.31 
    7 79.72 56.43 68.07 
    8 80.14 56.79 68.47 
    9 74.54 51.83 63.18 
    10 64.08 44.95 54.52 
    11 52.66 39.54 46.1 
    12 45.59 34.75 40.17 

내가 헤더를 포함하는 파일을 가져 오는 함수는 fprintf이 필요하다는 것을 알고

. 우리는 4 열 12 행을 가지고 있으므로 fprintf 함수를 사용하거나 데이터를 성공적으로 가져 오기 위해 어떤 함수를 사용해야합니까? this code가 있지만 신뢰할 수 있는지 확실하지 않습니다. Matlab 자체에서 사용할 수 있습니까?

+0

http://uk.mathworks.com/help/matlab/data-import-and-export.html (어디에서'fprintf'를 가져 왔는지 모릅니다. 파일 내보내기/쓰기, 가져 오기/그들을 읽고) – nkjt

+0

귀하의 데이터는 어떤 형식입니까? .txt, .xlsx, .csv ...? –

+0

.txt,이 수식을 어떻게 사용할 수 있습니까? –

답변

2

파일의 경우 fscanf, 문자열의 경우 sscanf을 사용하십시오. 구문은 익숙한 fprintf의 구문과 유사합니다. The matlab documentation provides a comprehensive set of examples to get you started.

덜 유연하지만 사용하기에 충분할 경우 dlmread이됩니다.

가정 데이터가 data.txt에 있고 (이 헤더의로) 당신이 할 첫 번째 행을 건너 뛰고 싶습니다

>> x = dlmread('data.txt', '', 1, 0) 

x = 

    1.0000 45.3600 33.8400 39.6000 
    2.0000 50.8700 35.9800 43.4300 
    3.0000 56.0500 38.5500 47.3000 
    4.0000 60.4900 41.3600 50.9200 
    5.0000 67.1700 46.9200 57.0500 
    6.0000 73.8200 52.8000 63.3100 
    7.0000 79.7200 56.4300 68.0700 
    8.0000 80.1400 56.7900 68.4700 
    9.0000 74.5400 51.8300 63.1800 
    10.0000 64.0800 44.9500 54.5200 
    11.0000 52.6600 39.5400 46.1000 
    12.0000 45.5900 34.7500 40.1700 

--edit-- 를 문서에서 :

dlmread (filename, delimiter, R, C)는 지정된 구분 기호를 사용하여 파일의 왼쪽 위 모서리 이 행 R과 열 C에있는 데이터를 읽습니다. 파일 이름 입력은 작은 따옴표로 묶은 문자열입니다. 값 R 및 C는 0부터 시작하므로 R = 0, C = 0은 파일의 첫 번째 값을 지정합니다.

이제 우리는 기본 구분 기호 (공간의 수)를 사용하고 싶지만, 우리는 또한 흐름 RC OL 인수를 제공하고 있습니다로 하나를 제공해야합니다, 우리는 빈 문자열을 제공합니다.

+0

헤더를 포함시키려는 경우 더 잘 이해하려면 예제로 필요합니다 –

+0

도움을 주셔서 감사합니다 –

+0

어떻게/왜 헤더를 포함 하시겠습니까? 헤더가 항상 같을 것이라고 가정합니다. 그러나 그들을 포함시키고 싶다고 말하십시오. Matlab은 현재와 같은 방법으로 배열을 좋아할 수 없습니다. 이제는 직사각형 배열을 반환하기 때문에 머리글은 숫자가 아닙니다. (셀 배열과 데이터 매트릭스가 있지만 모든 것이 훨씬 복잡해집니다.) – Lanting

0

또 다른 옵션은 importdata입니다. 조금 느릴 수도 있지만 헤더가 무엇인지 알아 내고 생략하는 것이 좋습니다.