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

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

댓글을 달려면 로그인하십시오.

 채택된 답변

Andreas Goser
Andreas Goser 2011년 1월 20일

3 개 추천

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

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 2011년 1월 20일
EVAL *is* EVIL! If you agree, vote for the alternative answer below.

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Doug Hull
Doug Hull 2011년 1월 20일

11 개 추천

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 2011년 1월 20일

1 개 추천

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 2011년 1월 26일

0 개 추천

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

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품

질문:

2011년 1월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by