开发者

How to declare a variable name consisting of other varables (MATLAB)?

I have a Variable that needs to be dependent on another variable inside a loop:

for n=1:100

newfilename="NEW_FILE_1.txt"

end

where the "1" needs to be what ever n is: So 1 for the first loop and 2 for the second loop and so on and开发者_JAVA百科 so forth.

How do you set up declaring "newfilename" to have the variable "n" variable inside its name?

Thanks


for n=1:100
    newfilename = ['NEW_FILE_' num2str(n) '.txt'];
end


Or use SPRINTF in the for loop:

for n=1:100
    newfilename = sprintf('NEW_FILE_%d.txt',n);
end


If I get your question correctly, you want, at the end of the loop, to have a series of variables called newfilename1, newfilename2... etc.

The short answer to this is: don't*. Instead, place your data in an cell array as follows

for n=1:100

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

end

You can then refer to your variables as newfilename{1}, newFilename{2}, etc...

* There is a way to do what you want using the function eval, and the method has been answered in other posts. But it's just bad practice.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜