使用命令行中的自定义方程式而不使用cftool进行曲线拟合

时间:2018-11-11 12:54:24

标签: matlab curve-fitting

我有一些数据可以使用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。

1 个答案:

答案 0 :(得分:1)

我最终使用以下链接中的信息找到了答案: https://www.mathworks.com/help/curvefit/fit.html

  1. 创建一个包含自定义方程式的matlab函数

    函数y = CustomCurveFitFunction(x,a,b,c)

    y = a exp(-b x)+ c;

    结束

  2. 通过以下方式从MATLAB中调用函数

    ft = fittype('CustomCurveFitFunction(x,a,b,c)');

    f = fit(time, y, ft);