2010-02-28 3 views
0

: (? 루프가 파일 이름의 문자를 무시할 수)이 루프 시작 부분에 무엇을 추가해야합니까? 내가 for 루프를 사용하여 다음 파일을 읽을 수있는 방법을

ABC-1.TXT
CDE-2.TXT
SER-3.TXT
WSZ-4.TXT
aqz-5.TXT
IOP-6.TXT

내가이 루프의 시작 부분에 추가해야합니까?

for i = 1:1:6 
    nom_fichier = strcat(['MyFile\.......' num2str(i) '.TXT']); 
+0

Matlab은 파일 이름의 숫자 앞에있는 문자를 어떻게 알아야합니까? 또는 이름이 숫자로 끝나는 모든 파일을 읽고 싶습니까? 파일을 읽는 순서가 중요합니까? 자세한 내용을 입력하십시오. – yuk

답변

3

DIR 명령을 사용하여 파일 이름을 구성하지 않아도됩니다. 예 :

myfiles = dir('*.txt'); 
for i = 1:length(myfiles) 
    nom_fichier = myfiles(i).name; 
    ...do processing here... 
end 
1

우선 strcat을 사용하는 이유는 무엇입니까? 이것은 그 자체로 하나의 문자열입니다. 모든 연결은 대괄호 []로 이미 수행되었습니다.

['MyFile\.......' num2str(i) '.TXT'] 

다음은 어떤 질문입니까? 데이터를로드하는 방법입니까? 파일이 각 행에 같은 수의 단순한 구분 된 숫자 인 경우,로드 할 때로드가 충분하거나 또는 textread가 필요할 수 있습니다.

내 생각에 파일 이름의 주요 부분을 만드는 방법을 모르겠다. 당신은 이런 식으로 할 수 있습니다

Names = {'abc' 'cde 'ser' 'wsz' 'aqz' 'iop'}; 
for i = 1:6 
    fn = ['MyFile',filesep,Names{i},'-',num2str(i),'.TXT']; 
    data = load(fn); 

    % do other stuff ... 

end 

당신은 다음이 텍스트 파일 이름 목록을 만들 아마도 같은 디렉토리를 사용을 입력하여 이름을 가진 변수를 만들지 않으려면 :

Names = dir('MyFile\*.TXT'); 
관련 문제