enter code here
[xData, yData] = prepareCurveData( x, y );
% Set up fittype and options.
ft = fittype( 'a +(b-a)*exp(-c*x)', 'independent', 'x', 'dependent', 'y' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.StartPoint = [0.957166948242946 0.485375648722841 0.8002804688888];
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
2 回答
你可以使用custom equation:
您可以做的一件好事是在Matlab中使用“曲线拟合”应用程序 . 您可以在APPS中的“数学,统计和优化”部分找到它 .
在那里你可以选择你的x和y数据以及你想要适合它们的函数(指数甚至自定义) .
然后,您可以在图上看到拟合结果,并显示拟合参数 .
如果您对结果感到满意并且想要在代码中使用它们,只需点击“文件”选项卡下的生成代码即可 . Curve fitting app
你可以在我拍摄的这个截图中看到详细信息 . 按下生成代码按钮后,matlab将创建一个将产生相同结果的函数 . 我想做的只是复制我在这种情况下需要的部分:
正如您所见,matlab添加了必要的细节,现在您可以使用fitresult访问拟合参数 . 例如 - > fitresult.a