2014-02-17 8 views
1

텍스트 파일이있는 하위 폴더가있는 폴더가 있습니다. 하위 폴더에있는 것과 동일한 순서로 파일을 읽고 싶습니다. 나는 그것에 문제가있다. 나는 위의 텍스트 파일 이름을 가지고matlab의 하위 폴더에서 주문 파일을 읽으십시오.

outNames = {}; 
    k=1; 
    feature = zeros(619,85); 
    fileN = cell(619,1); 

for i=1:length(nameFolds) 

    dirList = dir(strcat(path, num2str(cell2mat(nameFolds(i,1))))); 
    names = {dirList.name}; 
    outNames = {}; 

    for j=1:numel(names) 
     name = names{j}; 
     if ~isequal(name,'.') && ~isequal(name,'..') 
      [~,name] = fileparts(names{j}); 
      outNames{end+1} = name; 
      fileName = strcat(path, num2str(cell2mat(nameFolds(i,1))), '\', name, '.descr'); 
      feature(k,:) = textread(fileName); 
     fileN{k} = [fileName num2str(k)]; 
      k= k+1; 
     end 
    end 
end 

하위 폴더 중 하나에 : 나는 다음과 같은 MATLAB 코드를 사용

AnimalPrint_tiger_test_01.descr 
AnimalPrint_tiger_test_02.descr 
AnimalPrint_tiger_test_03.descr 
AnimalPrint_tiger_test_04.descr 
AnimalPrint_tiger_test_05.descr 
AnimalPrint_tiger_test_06.descr 
AnimalPrint_tiger_test_07.descr 
AnimalPrint_tiger_test_08.descr 
AnimalPrint_tiger_test_09.descr 
AnimalPrint_tiger_test_10.descr 
AnimalPrint_tiger_test_11.descr 
AnimalPrint_tiger_test_12.descr 
AnimalPrint_tiger_test_13.descr 
AnimalPrint_tiger_test_14.descr 
AnimalPrint_tiger_test_15.descr 
AnimalPrint_zebra_test_1.descr 
AnimalPrint_zebra_test_2.descr 
AnimalPrint_zebra_test_3.descr 
AnimalPrint_zebra_test_4.descr 
AnimalPrint_zebra_test_5.descr 
AnimalPrint_zebra_test_12.descr 

을하지만 먼저 AnimalPrint_zebra_test_12.descr 읽고 것으로 보인다과 AnimalPrint_zebra_test_1.descr 나머지 후 . 왜 이런 일이 일어나는 지 아십니까?

답변

2

dir는 예를

당신은 증가하는 변수 test_을 연결 ['test_' num2str(variable) '.descr']하여 자신의 순서를 구축 할 수 있습니다
test_1 
test_12 % 1 followed by 2 
test_2 
test_3 

를 들어, 자신의 이름에 따라 파일을 정렬합니다.

+0

'결과는 운영 체제가 반환 한 순서대로 나타납니다.'이것은 '12'가 '1'앞에 오는 것을 의미합니다. –

관련 문제