matlab指数函数拟合问题

刚学matlab,完全不知道如何写程序,特来求助!

x=[0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45];
y=[-0.03138 -0.03017 -0.02854 -0.02659 -0.024 -0.0207 -0.01658 -0.01148 -0.00554 0.00112];
y=b1-b2*[exp((x+y*b3)/(0.026*b4))-1]-(x+y*b3)/b5
其中,b1-b5是需要确定的参数。
请编程高手帮忙拟合下这个函数!不胜感激

第1个回答  2014-03-28
没限定参数范围
b1-b5是需要确定的参数 (这两组参数好像都可以)

-0.0007 -0.0027 593.5576 999.1404 -635.3201

-0.024842943 -0.389777871 7.2231779 86.270780 7.37833427732788追问

好的,非常感谢,那请问你可以把拟合的程序发给我吗,我想自己再经行调整下,多谢了。

追答

x=[0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45];
y=[-0.03138 -0.03017 -0.02854 -0.02659 -0.024 -0.0207 -0.01658 -0.01148 -0.00554 0.00112];
x=[x' y'];
fun=@(b,x)b(1)-b(2)*(exp((x(:,1)+x(:,2)*b(3))/(0.026*b(4)))-1)-(x(:,1)+x(:,2)*b(3))/b(5);
p0=[-0.0007 -0.0027 593.5576 999.1404 -635.3201];
[X,RESNORM,RESIDUAL,EXITFLAG]=lsqcurvefit(fun,p0,x,y')

本回答被提问者采纳
相似回答