2013-06-06 2 views
2

나는 아래의 .dat 파일을 가지고 있습니다. matlab에서 'REQUESTS/DURATIONS :'부분의 데이터를 읽고 크기 (32,7)의 단일 행렬에 저장하고 싶습니다. 어떤 기능을 사용해야할지 모르겠다. 어떻게해야할지 모르겠다. 도와주세요.데이터를 읽고 단일 행렬에 저장

file with basedata   : j30_17.bas 
initial value random generator: 79602564 

projects      : 1 
jobs (incl. supersource/sink): 32 
horizon      : 141 
RESOURCES 
- renewable     : 4 R 
- nonrenewable    : 0 N 
- doubly constrained  : 0 D 


REQUESTS/DURATIONS: 
jobnr. mode duration R 1 R 2 R 3 R 4 
------------------------------------------------------------------------ 
    1  1  0  0 0 0 0 
    2  1  1  0 0 0 5 
    3  1  1  0 3 0 0 
    4  1  1  8 0 0 0 
    5  1  7  0 0 2 0 
    6  1  6  0 0 0 3 
    7  1  4  1 0 0 0 
    8  1  5  0 0 10 0 
    9  1  8  0 0 3 0 
10  1  7  0 0 0 1 
11  1  8  9 0 0 0 
12  1  1  7 0 0 0 
13  1  2  0 3 0 0 
14  1  3  0 0 0 6 
15  1 10  0 7 0 0 
16  1 10  3 0 0 0 
17  1  2  0 0 3 0 
18  1 10  0 0 4 0 
19  1  1  0 0 0 3 
20  1  1  0 0 7 0 
21  1  7  0 2 0 0 
22  1  9  0 0 0 10 
23  1  9  0 0 7 0 
24  1  4  0 4 0 0 
25  1  4  0 3 0 0 
26  1  1  0 0 4 0 
27  1  1  9 0 0 0 
28  1  8  0 0 0 9 
29  1  1  0 0 0 1 
30  1  2  0 8 0 0 
31  1  7  0 4 0 0 
32  1  0  0 0 0 0 
************************************************************************ 
RESOURCEAVAILABILITIES: 
R 1 R 2 R 3 R 4 
10 8 13 12 
************************************************************************ 
+0

붙여 넣기 부분을 A의 다른 텍스트 문서 (가능한 경우)를 작성한 다음 tdfread를 사용하십시오. 그렇지 않으면 "REQUESTS/DURATION"이라는 단어를 찾은 다음 해당 행 다음에 읽기를 시작해야합니다. 이것은 솔루션의 골격에 불과합니다. 작동 시키려면이 작업을해야합니다. –

답변

0

textscan() 데이터의 실제 형식이 형식에 지정된 하나에 해당하지 않는 한 번 파일을 읽는 중지, 즉 모든 별표 시작할 때 :

fid = fopen('C:\...\test.txt'); 
data = textscan(fid, '%f%f%f%f%f%f%f','HeaderLines',15); 
fclose(fid); 
0

나는 이전 버전에 대해 잘 모르겠지만, 2013a 바로 "현재 폴더"패널 아래 파일을 클릭하고 선택하여 텍스트 파일을 가져올 수 있습니다 "데이터 가져 오기를 ...". 가져 오기 마법사가 열리고 가져올 데이터 범위를 선택할 수 있습니다. 행렬 옵션을 선택하고 "선택 항목 가져 오기"를 클릭하십시오.

매트릭스를 저장하려면 save 명령을 사용하십시오.

이 접근법은 빠르게 읽어야하는 단일 파일에는 적합하지만 큰 반복 작업에는 적합하지 않습니다. 당신이 헤더를 건너 뛰면

관련 문제