Что я должен добавить в начале этого цикла? - PullRequest
0 голосов
/ 28 февраля 2010

как я могу прочитать следующие файлы, используя цикл for: (может ли цикл игнорировать символы в именах файлов?)

а-1.TXT
CDE-2.txt
сер-3.TXT
WSZ-4.TXT
aqz-5.TXT
iop-6.TXT

Что я должен добавить в начале этого цикла ??

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

Ответы [ 2 ]

3 голосов
/ 28 февраля 2010

Вы можете избежать создания имен файлов с помощью команды DIR . Например:

myfiles = dir('*.txt');
for i = 1:length(myfiles)
    nom_fichier = myfiles(i).name;
    ...do processing here...
end
1 голос
/ 28 февраля 2010

Прежде всего, зачем вам использовать здесь strcat? Сама по себе это ЕДИНСТВЕННАЯ строка. Вся конкатенация уже сделана в скобках [].

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

Далее, я не уверен, какой у вас вопрос здесь. Это как загрузить данные? Если файлы представляют собой просто числа с разделителями, с одинаковым количеством их в каждой строке, тогда для загрузки их будет достаточно, или, возможно, вам понадобится текстовое чтение.

Полагаю, вы не знаете, как построить основную часть имени файла. Вы можете сделать это так:

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

Если вы не хотите создавать переменную с именами, набирая их, то используйте dir, возможно, вот так, чтобы создать список имен текстовых файлов:

Names = dir('MyFile\*.TXT');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...