2014-04-17 4 views
0

작은 크기 (60kb)의 8760 개의 파일 (365 일 * 24 시간 = 8760)을 읽고 값을 집계하고 일부 값의 평균을 취해야합니다.Matlab에서 for 루프를 사용하여 파일을 읽는 방법은 무엇입니까?

이전, 나는 * .CSV 파일을 읽기 위해 아래 명시된 코드를 사용했습니다 :

for a=1:365 
for b=1:24 

s1=int2str(a); 
s2=int2str(b); 
s3=strcat('temperature_humidity',s1,'_'s2); 

data = load(s3); 

% Code for aggregation, etc 

end 
end 

나는이 코드를 실행 할 수 있었다. 그러나 지금 파일 이름은 조금 다르며이 파일을 읽는 방법을 모르겠습니다.

파일은 다음과 같이 지정됩니다

2005_M01_D01_0000 (UTC-0800) _L00_NOX_1HR_CONC.DAT

여기서 M = 월, 값이 그래서 01, 01, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12; D = 일이므로 값은 01, 02, 03, ..., 31입니다. 시간 형식은 0000, 0100, 0200, ..., 1800, ..., 2300입니다.

파일 이름은 첨부 이미지를 참조하십시오. 나는이 파일들을 읽을 필요가있다. 도와주세요.

대단히 감사합니다. ('. 날엔 *')

파일 = DIR 또는 당신은 = sprintf와

이름 ('2D %의 d_M %의 등'파일 이름을 구성 할 수 있습니다 :

+0

파일 이름에서 날짜와 시간을 추출해야합니까 아니면 일치하는 모든 파일을 임의의 순서로 읽고 싶습니까? – Deve

+0

안녕하세요 @Deve, 난 그냥 순차적으로 파일을 읽고 싶어요. 파일의 이름이 "temperature_i_j.csv"(i = 1 ~ 365, j = 1 ~ 24) 인 경우 읽을 수 있지만 "M01_D01_0000_Conc.dat"과 같은 파일 이름을 갖습니다. 여기에서 M의 오른쪽에있는 즉시 숫자가 다릅니다. 01에서 12까지, D의 오른쪽에있는 즉각적인 2 개의 숫자는 01에서 31까지이고 시간은 0000에서 2300으로 바뀝니다. 01, 02, 03, 0000, 01000을 파일 이름으로 for 루프에 통합하는 법을 모르겠습니다. 파일. – Ankoor

답변

1

나는 디렉토리를 사용합니다 , ...)

+0

고맙습니다. 나는이 접근법을 시도 할 것이다. – Ankoor

관련 문제