我发现如何在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)
有人可以帮助我如何适应这个模型吗?
来自荷兰的问候, 英格
答案 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);