How can I use use the index in a FOR loop in a string?

I need use cycle FOR for String (for Excel write).
For example:
N=10;
for i = 1:N-1
xlswrite('test.xls',F0,brd{i},'A1') %I need change 1 to 2...N
end
How can I do that?

1 Kommentar

Hi Pepa. I deleted your "Thanks" answer and added it as a comment to Andreas' answer.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Andreas Goser
Andreas Goser am 20 Jan. 2011

3 Stimmen

While I suggest using the XLSWRITE syntax,
xlswrite('test.xls',F0,brd{i},'A1:A10')
this may just an example code. I personally often work with the EVAL command:
N=10;
for i = 1:N-1
eval(['xlswrite(''test.xls'',F0,brd{i},''A', num2str(i), ''');'])
end
I think there are other options too.

5 Kommentare

An alternative that doesn't use eval:
xlswrite('test.xls',F0,brd{i},sprintf('A%d',i));
inside the loop
eval() ? Oh, gross!!
http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F
Yeah, some think EVAL is EVIL - like GOTO commands :-)
Pepa says, "Thank you!!!"
Doug Hull
Doug Hull am 20 Jan. 2011
EVAL *is* EVIL! If you agree, vote for the alternative answer below.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Doug Hull
Doug Hull am 20 Jan. 2011

11 Stimmen

I think this is the cleanest way to do this.
N=10;
for i = 1:N-1
colName = ['A' num2str(i)];
xlswrite('test.xls',F0,brd{i}, colName) %I need change 1 to 2...N
end
Walter Roberson
Walter Roberson am 20 Jan. 2011
Or for those who prefer the lower-overhead sprintf:
N=10;
for i = 1:N-1
xlswrite('test.xls',F0,brd{i}, sprintf('A%d',i))
end
Richard de Garis
Richard de Garis am 26 Jan. 2011

0 Stimmen

The above solutions are elegantly simple and will serve your current need perfectly. If in the future you require to iterate along Excel columns and/or change the size of the Excel range, I just published a function that will enable you to do that. http://www.mathworks.com/matlabcentral/fileexchange/30180-calculate-excel-range

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by