Store fit output and call them later
    5 views (last 30 days)
  
       Show older comments
    
    Hussein Kokash
 on 20 Jun 2021
  
    
    
    
    
    Commented: Hussein Kokash
 on 20 Jun 2021
            Dears, hope all are doing great!
I have the following script I use to read files and then fit them using curve fitting, my goal is to store the output of the fit for each file so that I can plot them all using the same x-axis, so the idea is to replace y values with the new fit output for each file, how is that possible?
Thank you, appreciate it.
[file_list, path_n] = uigetfile('.txt', 'Multiselect', 'on');
filesSorted = natsortfiles(file_list);
if iscell(filesSorted) == 0;
    filesSorted = (filesSorted);
end
for i = 1:length(filesSorted);
    filename = filesSorted{i};
    data = load([path_n filename]);
    x =  data (:,1);
    y =  data (:,2);
    T = data (1,3);
     Time(i) = T;
    % Curve fitting
    f=fit(x, y, 'fourier1')
    %figure(i)
    plot(f, x, y)
    hold on
    formula(f)
    coefficients = coeffvalues(f)
end
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 20 Jun 2021
            f=fit(x, y, 'fourier1')
Once you have that, you could record f in a cell array. 
Or... you can invoke
    saved_x{i} = x;
    saved_y{i} = y;
    predicted_y{i} = f(x);
Here, predicted_y{i} will become a numeric vector of what the model values predict for the given x values; you would not need the fit object after that.
3 Comments
More Answers (0)
See Also
Categories
				Find more on Fit Postprocessing in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
