我有一些数据可以使用cftool的自定义方程很好地拟合曲线。等式为:y = a exp(-b x)+ c。有什么方法可以从命令行使用相同的方程式吗?例如,使用fit命令和exp1会得到以下结果:
f = fit(time,T102,'exp1')
f =
General model Exp1:
f(x) = a*exp(b*x)
Coefficients (with 95% confidence bounds):
a = 0.0726 (0.0717, 0.0735)
b = -1.263e-05 (-4.171e-05, 1.645e-05)
但是,此等式的形式不太适合我的数据。我需要方程为f(x)= a exp(b x)+ c。我知道我可以从cftool中获得它,但是我有许多不同的数据集可以进行曲线拟合(〜30),而我只想从MATLAB中在自定义方程f(x)= a <中返回a,b和c em> exp(b x)+ c。
答案 0 :(得分:1)
我最终使用以下链接中的信息找到了答案: https://www.mathworks.com/help/curvefit/fit.html
创建一个包含自定义方程式的matlab函数
函数y = CustomCurveFitFunction(x,a,b,c)
y = a exp(-b x)+ c;
结束
通过以下方式从MATLAB中调用函数
ft = fittype('CustomCurveFitFunction(x,a,b,c)');
f = fit(time, y, ft);