可以使用lsqcurvefit函数实现,但是可能由于x,y值的原因,拟合的结果不是很好,不过可以进行参考。拟合结果如下,程序在附件中。
x=..........;%原数据x
y=..........;%原数据y,你给的y数据有些问题,很难以你给出的形式拟合
func=@(abc,x) abc(1)+abc(2)*exp(-x/abc(3));
abc=nlinfit(x,y,func,[0 1 1]);
yfit=func(abc,x);
plot(x,y,'o');hold on;%原数据画点
plot(x,yfit,'-');hold off;%拟合数据画曲线
用matlab的曲线拟合工具进行计算,选择默认参数获得结果:
General model:
f(x) = a+b*exp(-x/c)
Coefficients (with 95% confidence bounds):
a = 0.1317 (0.1234, 0.1399)
b = 0.7491 (-3.388e+021, 3.388e+021)
c = 0.5751 (-1.584e+020, 1.584e+020)
Goodness of fit:
SSE: 8.333e-005
R-square: -8.407e-007
Adjusted R-square: -0.6667
RMSE: 0.00527
你可以看看matlab的curve fitting曲线拟合工具包,很方便的,可以直接输出各个参数值。