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 comentario

Todd Flanagan
Todd Flanagan el 20 de En. de 2011
Hi Pepa. I deleted your "Thanks" answer and added it as a comment to Andreas' answer.

Iniciar sesión para comentar.

 Respuesta aceptada

Andreas Goser
Andreas Goser el 20 de En. de 2011
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 comentarios

Matt McDonnell
Matt McDonnell el 20 de En. de 2011
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
Andreas Goser
Andreas Goser el 20 de En. de 2011
Yeah, some think EVAL is EVIL - like GOTO commands :-)
Todd Flanagan
Todd Flanagan el 20 de En. de 2011
Pepa says, "Thank you!!!"
Doug Hull
Doug Hull el 20 de En. de 2011
EVAL *is* EVIL! If you agree, vote for the alternative answer below.

Iniciar sesión para comentar.

Más respuestas (3)

Doug Hull
Doug Hull el 20 de En. de 2011
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
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 el 26 de En. de 2011

0 votos

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

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 20 de En. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by