matlab对指数函数的拟合

小弟初学MATLAB,现在毕设要求对CCFL灯管进行建模,已知数据
电流(设为X)
0.490667 0.955333 1.544 1.940667 2.48 3.026667 3.966667 4.453333 5.073333 6.033333 7.04
电压(设为Y)
253.3333 381 450 503.6667 532 520 489 481.3333 459 438.3333 422
用了4次多项式拟合,效果不是太好,而且文献上说会有较大误差,查阅相关资料说用指数函数拟合,函数模型如下:V=A0+A1*exp(-A2*I)-A3*exp(-A4*I),想请问各位大侠,A0,A1,A2,A3,A4这些拟合系数怎么确定啊?在网上找了好多都说用CFTOOL,但是在那里面要确定这些系数的初始值和上下限,小弟就不知道该怎么做了,请大侠们帮下忙,告诉小弟该怎么做,最好能有程序和说明,小弟在此谢过了...

第1个回答  推荐于2016-09-26
用V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I)模型比较好。

clear;
X=[0.490667 0.955333 1.544 1.940667 2.48 3.026667 3.966667 4.453333 5.073333 6.033333 7.04]
Y=[253.3333 381 450 503.6667 532 520 489 481.3333 459 438.3333 422]
myfun=inline('A(1)*exp(A(2)*x)+A(3)*exp(A(4)*x)','A','x')
A = nlinfit(X,Y,myfun,[700 -0.01 -700 -1 ])
I=min(X):0.1:max(X);
V=A(1)*exp(A(2)*I)+A(3)*exp(A(4)*I);
plot(X,Y,'o',I,V)

结果:
A =

668.9571 -0.0688 -656.7991 -1.0321本回答被提问者采纳
相似回答