你可以做的一件伟大的事情是在Matlab中使用“曲线拟合”应用程序。你可以在APPS的“数学,统计和优化”部分找到它。
在那里,您可以选择您的x和y数据以及您希望适合它们的功能(您可以输入自定义方程式,例如S形)。
然后,您可以在一个图上看到拟合结果,并显示拟合参数。
如果您对结果感到满意并且想要在代码中使用它们,只需点击File选项卡下的生成代码即可。
你可以在截图中看到细节。按下生成代码按钮后,matlab将创建一个功能,它会得到相同的结果。我喜欢做的仅仅是复制,我需要在这种情况下,部分:
enter code here
[xData, yData] = prepareCurveData(x, y);
% Set up fittype and options.
ft = fittype('a/(1+exp(-b*x))', 'independent', 'x', 'dependent', 'y');
opts = fitoptions('Method', 'NonlinearLeastSquares');
opts.Display = 'Off';
opts.StartPoint = [0.957166948242946 0.485375648722841];
% Fit model to data.
[fitresult, gof] = fit(xData, yData, ft, opts);
,你可以看到MATLAB添加必要的细节,现在你可以访问使用fitresult拟合参数。例如 - > fitresult.a