Saving data after each iteration

Hello so I'm trying something a bit different then before, so my code is as follows:
all_pulse = [ ];
files = importdata('name_files2.txt');
for i = 1:length(files)
[C_pulse, D_pulse] = One_Person(files{i}); %this is a pre-defined function
save('all_pulse', 'C_pulse', 'D_pulse') %what I have so far
end
The only thing I am having trouble with is that I want to save the outputs of my function (C_pulse and D_pulse) into the matrix all_pulse after each iteration of the loop so that I have all the data I need from each file in the larger matrix. Not sure how to do this. Thanks,

3 Comments

See the doc for save -- there is an 'append' flag, but it won't work the way you intend because you can't have multiple copies of the same variable in a .mat file. And, even if you could or change the name, it's got the same performance hangup up that the non-allocated catenation operation has--although not to quite the same extent I think since it can move the file pointer to the end via the OS i/o routines without having to read the whole file into memory every time.
This likely is a good place for cell arrays for the quick 'n dirty solution.
hello
what size have C_pulse, D_pulse ?
Each iteration yields 6 values for C_pulse and 6 for D_pulse

Sign in to comment.

 Accepted Answer

C_pulse = cell(N,1) ;
D_pulse = cell(N,1) ;
files = importdata('name_files2.txt');
for i = 1:length(files)
[C_pulse{i}, D_pulse{i}] = One_Person(files{i}); %this is a pre-defined function
end

More Answers (0)

Asked:

on 22 Jun 2021

Commented:

on 23 Jun 2021

Community Treasure Hunt

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

Start Hunting!