Increment file name by adding numbers in a loop

I want to select data piecewise in a loop, and I want to be able to save the files as filename_number, where the number increases for each iteration of the loop. Is there an easy way to accomplish this?
The idea is: first selection, saved file name is file_1 second selection, saved file name is file_2 etc

 채택된 답변

Chirag Gupta
Chirag Gupta 2011년 7월 11일
편집: Stephen23 2017년 2월 17일

6 개 추천

Easy way to increment your filename is:
filename = sprintf('%s_%d','filename',k)

추가 답변 (1개)

Fangjun Jiang
Fangjun Jiang 2011년 7월 11일

8 개 추천

BaseName='MyDataFile_';
for k=1:10
FileName=[BaseName,num2str(k)]
end

댓글 수: 5

And how do I use FileName to save data in disk? I tried
save FileName variable -ascii
but the file that is saved gets the name "FileName", and not "MyDataFile_1" or "MyDataFile_2" etc.
Stephen23
Stephen23 2017년 2월 17일
편집: Stephen23 2017년 2월 17일
@Alberto Rocha: you have to use function syntax, not command syntax:
Or, to put it simply, you need to use the parentheses:
save(FileName,'X') % for variable X
Thanks, Stephen!
Hi Fangjun, I tried this function and it work with me but when I tried to execute OpenSees.exe, it give me error as the following: BaseName='TS'; for k=1:3 FileName=[BaseName,num2str(k),'.tcl']; !OpenSees.exe FileName end and the message is as the following: couldn't read file "FileName": no such file or directory
You can't use ! if the command you want the system to execute is going to be assembled using the contents of a variable. Use the system function instead, building the command you want the system to execute using concatenation (as you built FileName) or sprintf.

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

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

질문:

Amy
2011년 7월 11일

댓글:

2018년 2월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by