【问题标题】:Fit Two-Term Exponential Model in Matlab在 Matlab 中拟合两项指数模型
【发布时间】:2016-06-23 17:14:09
【问题描述】:

我发现了如何在 Matlab 中使用 fit 函数拟合一个两项指数模型:

f2 = fit(x,y,'exp2')
f2(x) = a*exp(b*x) + c*exp(d*x)

但是,我不想使用这个标准模型。我的指数模型是:

f2(x) = a*exp(b*x) + (1-a)*exp(c*x)

有人可以帮我如何拟合这个模型吗?

来自荷兰的问候, 英格

【问题讨论】:

    标签: matlab exponential


    【解决方案1】:

    这是:

    f = fit(x,y,fittype('a*exp(b*x)+(1-a)*exp(c*x)','coeff',{'a','b','c'}))
    

    你想要什么? (使用matlab命令'help fittype')

    【讨论】:

    • 我无法让它工作。我想我错过了什么。我收到此错误消息:Error using fit>iFit (line 340) Inf 由模型函数计算,拟合无法继续。尝试使用或收紧系数的上限和下限。
    【解决方案2】:

    我找到了答案。我使用 lsqcurvefit 进行非线性曲线拟合 也许对于一些感兴趣的人,这是我使用的代码:

    F = @(x,xdata)S0*((1-x(1))*exp(-1*xdata*x(2)) + x(1)*exp(-1*xdata*x(3)));
    x0 = [0 0 0 ]    
    [x] = lsqcurvefit(F,x0,xdatapoints,y);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 2014-02-13
      • 2015-03-22
      • 1970-01-01
      相关资源
      最近更新 更多