Store fit output and call them later
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2021-6-20
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!