Saving the .mat file using for loop

조회 수: 13 (최근 30일)
Aftab Ahmed Khan
Aftab Ahmed Khan 2014년 5월 28일
댓글: Roger Wohlwend 2014년 5월 28일
Hi everyone,
I have the following section of code. I want to generate 10 different files using the for loop and each time i want to save each generated random_sample to be saved as a separate data file. So by the end of the for loop i should have 10 different files in total with different names. What is the missing part in the save-command line. Thank you.
lambda = 2;
for i = 1:10
random_sample = poissrnd(lambda,1,100)>0.25;
save('datafile','random_sample');
end

채택된 답변

Roger Wohlwend
Roger Wohlwend 2014년 5월 28일
You use the same file name for all ten samples. So Matlab overrides the file in every iteration and you end up with one saved sample only. What you have to do is make the file name dependent on the iteration. You could do that as follows:
save(sprintf('datafile_%02d',i), 'random_sample');
That should do it.
  댓글 수: 2
Aftab Ahmed Khan
Aftab Ahmed Khan 2014년 5월 28일
Hi Roger,
That exactly what i wanted to achieve.
Can you just explain to me the "%02d" part in the command ?
Thank you.
Roger Wohlwend
Roger Wohlwend 2014년 5월 28일
Of course. With the "%02d" part I tell the sprintf function what to do: convert the integer i to a string and use (at least) two digits. That means, sprintf converts 1 into the string "01", 2 into "02", and so on.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by