matlab对数据的拟合代码,使用MATLAB对我的数据拟合sigmoid

你可以做的一件伟大的事情是在Matlab中使用“曲线拟合”应用程序。你可以在APPS的“数学,统计和优化”部分找到它。

在那里,您可以选择您的x和y数据以及您希望适合它们的功能(您可以输入自定义方程式,例如S形)。

然后,您可以在一个图上看到拟合结果,并显示拟合参数。

如果您对结果感到满意并且想要在代码中使用它们,只需点击File选项卡下的生成代码即可。d8pOF.png你可以在截图中看到细节。按下生成代码按钮后,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