在Matlab中拟合两项指数模型

时间:2016-06-22 11:15:01

标签: matlab exponential

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

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)

有人可以帮助我如何适应这个模型吗?

来自荷兰的问候, 英格

2 个答案:

答案 0 :(得分:0)

这是:

f = fit(x,y,fittype('a*exp(b*x)+(1-a)*exp(c*x)','coeff',{'a','b','c'}))
你想要什么? (使用matlab命令' help fittype')

答案 1 :(得分:0)

我找到了答案。我使用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);