MATLAB Answers

0

How can i save my result in each different files using FOR?

Asked by MichaelK Kim on 24 Jan 2011
Hi, I trying to save my results in each files using FOR. Total 364 files have to be modified in m.files and the modified variables have to be saved in each varibles or each files without extra modifying.
and the file names is Proj_00001.raw, Proj_00002.raw, Proj_00003.raw, ... , Proj_00363.raw and then after modifying, i want to save my result. the name of my result files will be H1.mat, H2.mat, H3.mat, H4.mat, ..., H363.mat. OR i have to save my result using 'dicomwrite' such as H1.dcm, H2.dcm, H3.dcm,...
Summary!
Proj_00000.raw file have to save at H1.mat or H1.dcm after modification
Proj_00001.raw file have to save at H2.mat or H2.dcm after modification
Proj_00002.raw file have to save at H3.mat or H3.dcm after modification
...
Proj_00363.raw file have to save at H1364.mat or H3641.dcm after modification
this is my code.
for k=1:364
filelist = dir('D:\CMC\Matlab\Projections_Head\*.raw');% call the file list
fname = filelist(k).name;
fid = fopen(fname,'r');
A = fread(fid);
for i = 0:1:767
for j = 0:1:1023
P(1+i,j+1) = 'equation for modification: P is 768x1024 double';
end
end
for s=1:364 %%this is not working at all..
slist = strcat(num2str(s));
sname = strcat('H',slist,'.mat');
savefile = (sname);
save(savefile, P);
end
end
it seems like 'fine'. but there are an error!!
??? Error using ==> save Argument must contain a string.
what am i supposed to do? or write? thank you for helping me. :)

  3 Comments

In what way is the second FOR loop not working? Does it not save? Is there an error?
did you applied the second FOR loop in your computer?
i mean the FOR s=1:364, this is 4th loof. it isn't working!! yes! there are an error...
Why are you saving the same data to each of the files ??

Sign in to comment.

Products

1 Answer

Answer by Michael Katz on 24 Jan 2011

Try:
save(savefile,'P');
The second argument to SAVE should be the variable's name, not it's value.

  2 Comments

hmm., i've change my code according to your solution. but why my matlab keep busy for over 20min... so deperate situation :(
So it would be helpful, if you show us what 'equation for modification: P is 768x1024 double' means in detail.

Sign in to comment.