2010-08-19 5 views
2

제 질문은 과정 반복을 짧게하는 것입니다.내 코드 단축을 도와주세요.

Data1이 dlmread = ('20001103 BadgCk - - - RZhS 1hAccumx10 TextData0-1.txt -', '\의 t'[31 1 286 255]);

Data2 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [299 1 554 255]));

Data3 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [567 1 822 255]));

Data4 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [835 1 1090 255]));

Data5 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1103 1 1358 255]));

Data6 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1371 1 1626 255]);

Data7 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1639 1 1894 255]));

Data8 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [1907 1 2162 255]);

Data9 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2175 1 2430 255]);

Data10 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2443 1 2698 255]);

Data11 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2711 1 2966 255]));

Data12 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [2979 1 3234 255]));

Data13 = dlmread ('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt', '\ t', [3247 1 3502 255]);

여기서 첫 번째 30 줄은 Data1을 얻기 전에 건너 뛸 수 있어야합니다. Data1 이후에는 Data2 - Data13의 경우 12 줄을 무시해야합니다. 각 데이터는 256 * 255 매트릭스를 포함합니다.

참고 : dlmread ('myfile.txt', '\ t', [R1 C1 R2 C2]);

나는 정말 도움이 될 것입니다. 감사합니다.당신이 나중에 하나의 큰 행렬에 모든 데이터를 결합하려는 경우 , 당신은 할 수 있습니다

+1

접선 방향으로 연결하는 방법에 따라 dlmread의 결과를 바꾸어해야 할 수도 있습니다. 어제 내 블로그에서이 코딩 기술을 다뤘습니다. http://blogs.mathworks.com/videos/2010/08/18/matlabdo-the-way-of-matlab/ – MatlabDoug

답변

5

당신은 루프를 사용하고 셀 어레이에 데이터 세트를 수집 할 수있는, 같은 일이

nData = 13; 

data = cell(nData,1); 

for n = 1:nData 
    startPos = 31+(n-1)*268; 
    endPos = 286 + (n-1)*268; 

    data{n} = dlmread('BadgCk-20001103-RZhS-1hAccumx10-TextData0-1.txt','\t', [startPos 1 endPos 255]); 
end 

편집 (테스트하지)

dataMatrix = [data{:}] 

사용하면 먼저 최종 매트릭스 관련

+0

두 번째 .. 감사합니다. 잘 작동합니다! ! – Nadhris

+0

마음에 들지 않으면 한 가지 더 물어보고 싶습니다. nData의 차원이 [1,65280]이라고 가정 해보십시오. 데이터 {n}의 기간에 이들을 모두 하나의 큰 매트릭스로 결합하려면 어떻게해야합니까? 예를 들어 Data = [Data1; Data2; Data3; Data4; Data5; Data6; Data7; Data8; Data9; Data10; Data11; Data12; Data13]; – Nadhris

+0

이 – second

관련 문제