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에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

질문:

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