bdpeng 发表于 2009-8-26 23:26:21

Matlab多个e指数函数拟合求助

Matlab自带的函数拟合工具箱,默认只支持2个e指数函数拟合;用多个e指数函数拟合时,要用户输入自定义的函数形式,同时要计算各个参数的初值。由于初值计算不准确,拟合出来的结果往往很离奇,即曲线与数据明显不符合。
多个e指数函数拟合的方程形式如下:
y(i)=a1*exp(-b1*x)+a2*exp(-b2*x)+a3*exp(-b3*x)
a1,b1,a2,b2,a3,b3为待定参数
问:
1.数据拟合时,如何计算参数的初值?
2.有没有其他的好办法,可以实现e指数函数的拟合?不用Matlab也可以。

shamohu 发表于 2009-8-27 08:29:44

试一下1stOpt。

ljelly 发表于 2009-8-27 09:12:26

把你的数据传上来,试一下
如果为保密,一部分也可

ljelly 发表于 2009-8-27 09:12:32

把你的数据传上来,试一下
如果为保密,一部分也可

masher 发表于 2009-8-28 13:16:23

Matlab自带的函数拟合工具箱,默认只支持2个e指数函数拟合;
楼主这句话是什么意思的?用那个函数进行拟合的?需要取对数吗?

messenger 发表于 2009-8-28 13:35:36

不需要取对数。

lz是说,在Matlab自带的函数拟合工具箱中,Matlab已经给出了一些拟合函数的模版,但e指数函数模板中,最多只有y(i)=a1*exp(-b1*x)+a2*exp(-b2*x)的形式,而没有三个e指数函数相加的形式。如果要拟合y(i)=a1*exp(-b1*x)+a2*exp(-b2*x)+a3*exp(-b3*x)的形式,要在自定义函数形式中,用户自己输入。


Matlab自带的函数拟合工具箱,默认只支持2个e指数函数拟合;
楼主这句话是什么意思的?用那个函数进行拟合的?需要取对数吗?
masher 发表于 2009-8-28 13:16 http://forum.simwe.com/images/common/back.gif
页: [1]
查看完整版本: Matlab多个e指数函数拟合求助