How to change the variable name in the loop

2 次查看(过去 30 天)
I want to use this syntax in a loop, but i can't find out why it does not work. I know, I should use the eval function, but somewhere there has to be a problem in the syntax. Could you help me to fix it?
thanks, Roley
I want to change te i variable in the code:
for to i=1:2 eval(['xlswrite('D:\Pénzügyek\Market\Trading System\Neural networks\FORECASTING MODELL\Modells\' num2srt(i) '.xlsx', modell ' num2srt(i)', 'data','A1')])
end

采纳的回答

Anuj
Anuj 2014-2-28
You should edit your code using {}code while posting the question, I can see one problem, there should not be to after for , Also its better to use i1 in place of i because i represents imaginary number in MATLAB.

更多回答(4 个)

Jos (10584)
Jos (10584) 2014-2-28
These kind of problems can be easily avoided using another approach
In pseudocode:
data(1).values = ...
data(2).values = ...
for K = 1:numel(data)
filename = ['d:\test\model' num2srt(K) '.xlsx']
xlswrite(filename, data(K).values)
end

Chandrasekhar
Chandrasekhar 2014-2-28
for to i=1:2
str = ['D:\Pénzügyek\Market\Trading System\Neural networks\FORECASTING MODELL\Modells\' num2str(i) '.xlsx, modell' num2str(i) ', data, ''A1'''];
eval(['xlswrite(' str ')'])
end

Iain
Iain 2014-2-28
for to i = 1:2
The "to" should be removed.
The string you're trying to evaluate is nutty.
To form a string like the one you want:
['xlswrite(''d:\folder\folder\filename' num2str(i) '.xls'', modell' num2str(i) ', ''data'',''A1'')]
If you want a single ' in a string, you need to use two of them. i.e. '''' gives you a string with '

Roland
Roland 2014-2-28
Thanks for the help. It works!

类别

Help CenterFile Exchange 中查找有关 Variables 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by