MATLAB: I use matlab. I load a data(.dat) file and run the program on it and get results. I have 900 such data files and want to write a loop such that at the end I get results corresponding to all data files at once. Is there a way to do it

srinath

Loading all the data files each at once and getting results corresponding to it is a time taking process and it needs lot of effort. So I want to use a loop for i=1:900 and write my program. for i=1 it should load 1st data(.dat) file and give me results after completing on this file,for i=2 it should load another data(.dat) file. It should carry on up to i=900. Is there a possibility? Also tell me a way to save workspace after every iteration. I have to get 900 work space files.

Best Answer

To save workspace variables, use the command save. see "help save" for the details. To load the files in a loop, use a cell array to store the information of each file.
my_data = cell(900,1); % initialize the cell array
my_files = dir('*.dat'); % structure containing your *.dat files
for k=1:900
my_data{k} = load(my_files(k).name); % load .dat file recursively
end
Related Question