Matlab- storing iterations into a single matrix and file

  • Context: MATLAB 
  • Thread starter Thread starter Void123
  • Start date Start date
  • Tags Tags
    File Matlab Matrix
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 2K views
Void123
Messages
138
Reaction score
0
Hi guys:

I have a program which is supposed to fit x- and y-data to a certain function and give me the optimum parameters. This is no problem. What I want to do though is to perform a for loop that allows me to plot the CHANGE in those parameters over time (as I conduct a real life experiment). The code is something like this (an example):

for i=1:5
pause(1)
execute_function;


[estimates, model] = fitcurvedemo(xdata, ydata)

end

The output will give me five iterations of the fitted parameters (which I have a separately written program for which works), but I want to collect them into a single column and plot them against the time (i), which in this case is 1 second intervals.

I hope this is clear.

Thanks.
 
Physics news on Phys.org
You could preallocate a matrix, then just concatenate the new data into it during each iteration of the loop.

Code:
A = [];
for i=1:5
    pause(1)
    execute_function;
    [estimates, model] = fitcurvedemo(xdata, ydata)
    A = [A; estimates];
end

If you're only doing this 5 times then it probably isn't necessary to tune it for performance. Another way to accomplish this would be to use a cell array where the parameters from each iteration get their own cell, then afterward you convert it to numeric and reshape it.