Как объявить имя переменной, состоящей из других переменных (MATLAB)? - PullRequest
0 голосов
/ 03 сентября 2010

У меня есть переменная, которая должна зависеть от другой переменной внутри цикла:

for n=1:100

newfilename="NEW_FILE_1.txt"

end

, где "1" должно быть таким, каким всегда является n: так 1 для первого цикла и 2 длявторой цикл и т. д. и т. п.

Как настроить объявление «newfilename» так, чтобы переменная «n» содержала переменную внутри своего имени?

Спасибо

Ответы [ 3 ]

5 голосов
/ 03 сентября 2010

Или используйте SPRINTF в цикле for:

for n=1:100
    newfilename = sprintf('NEW_FILE_%d.txt',n);
end
5 голосов
/ 03 сентября 2010
for n=1:100
    newfilename = ['NEW_FILE_' num2str(n) '.txt'];
end
1 голос
/ 03 сентября 2010

Если я правильно понял ваш вопрос, вы хотите, чтобы в конце цикла была серия переменных с именами newfilename1, newfilename2 ... и т. Д.

Краткий ответ на этот вопрос: don 'т *.Вместо этого поместите ваши данные в массив ячеек следующим образом

for n=1:100

   newFilename{n} = sprintf('NEW_FILE_%i.txt', n)

end

Затем вы можете ссылаться на свои переменные как имя_файла {1}, имя_файла {2} и т. Д. *

* Тамэто способ сделать то, что вы хотите, используя функцию eval, и метод был дан ответ в других сообщениях.Но это просто плохая практика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...