2017-10-11 21 views
1

하나의 폴더에 modis1.hdf, modis2.hdf 및 modis3.hdf라는 세 개의 파일이 있습니다. 내 명령을 사용하여 파일을 개별적으로 읽을 수 있습니다.matlab을 사용하여 for 루프의 각 파일을 저장하는 방법

for i=1:3 or for i=1 

lst_try=['D:\lst2016\lst_try\modis',num2str(i),'.hdf']; 

lst_3(:,:,:,:,i)=hdfread(lst_try, 'MODIS_Grid_Daily_1km_LST', 'Fields', 'LST_Day_1km', 'Box',{[76.83  77.34], [28.88  28.41]}); 

end 

각 파일을 hdf 형식 또는 ascii 형식으로 개별적으로 저장하려고합니다. 따라서, 나는 명령을 사용하고 있었다.

save(lst_try,'lst_3','-hdf') 

그러나 파일을 개별적으로 저장할 수는 없다.

답변

1

모든 저장 파일에 개별 이름을 지정하기 만하면됩니다.

내가 제대로 이해한다면 매트릭스 차원으로 분리 된 다른 데이터가 있습니다. 이 데이터를 분리하여 개별적으로 저장하십시오. save functionHDF 형식을 소요하지 않는 내가, '-ascii' 옵션을 사용

%do whatever you need to do 

partname='myfile' 

for ii=1:3, 

    var_temp=lst_3(:,:,:,:,ii); %split the interesting part of you data. 

    name=[partname num2str(ii)]; %make a individual name 
    save(name,'var_temp','-ascii') %saving by separated names 

end 

참고. 이것은 단점이 있습니다. 크기가 (N,M) 인 매트릭스 만 저장할 수 있습니다.

ascii 옵션은 3D 데이터를 가져올 수 없습니다.

+0

문제는 모든 데이터를 하나의 변수에 저장하고 이것을 "개별적으로"저장하려고 시도하는 것입니다. – Irreducible

+0

@Irereducible Indeed. 나는 분석이 같은 루프 안에서 이루어 졌다고 상상했다. 나는 정말로 정정을 할 것이다. – Guto

+0

@Guto 도움을 주셔서 감사합니다,하지만 matlab에이 오류가 표시됩니다 : myfile 저장 사용 중 오류 알 수없는 명령 옵션. 분리 된 이름으로 저장하기 (이름, 'var_temp', '-hdf') –