1
textscan을 사용하여 텍스트 파일에서 데이터를 가져 오려고합니다. 데이터에는 몇 가지 구분 기호 (콜론 및 스페이스)가 있습니다. 137 열이있는 행렬에 데이터를 가져 오려고합니다. 다음 두개의 데이터 라인이 인 형식이다.Matlab에서 textscan을 사용하여 여러 구분 기호로 데이터 가져 오기
2 id:1 1:3 2:3 3:0 4:0 5:3 6:1 7:1 8:0 9:0 10:1 11:156 12:4 13:0 14:7 15:167 16:6.931275 17:22.076928 18:19.673353...134:1 135:0 136:2
9 id:2 1:4 2:3 3:1 4:5 5:3 6:4 7:2 8:0 9:0 10:1 11:16 12:42 13:0 14:7 15:167 16:5.7 17:1 18:3...134:2 135:6 136:3
이런 50 줄이므로 결국 I은 50 X 136 행렬을하고자있다. 콜론과 공간 앞에 값을 가져오고 1 (1:3
및)부터 136 (136:2
및 136:3
)으로갑니다. 아래 코드는 내가 시도하는 코드이다. 나는 약간의 연구를하면서 발견 한 코드를 트위트하려고 노력해왔다. 나는 repmat에 대한 사양을 읽고 있었는데 이것은 단지 1 x 136 매트릭스를 생산할 것 같다.
fid = fopen('./train.txt','r');
fmt = ['%f' repmat('%*f:%f', 1, 136)];
c = textscan(fid, fmt, 'CollectOutput', 1)
감사합니다. 사전에 도움을 주시면 대단히 감사하겠습니다. 당신의 fmt
에 작은 수정으로