matlab双指数拟合求助
请教高手在matlab中用双指数模型拟合一组数据[ y=a*exp(-b*x)+c*exp(-d*x) ],模型自动拟合,得到的参数a>0,b<0,c<0,d<0,与我想得到的不相符,请问怎样限制参数取值范围,使拟合结果参数a>0,c>0,b*d<0。想请教各位老师,问题解决后,我把金币贡献出来,积分也不多,但也是一天天攒的,请不吝赐教啊,谢谢谢谢。
附一组数据(01)以及自己做的图(02)。 @beefly
01.png
02.png 返回小木虫查看更多
今日热帖
数据不要截图,直接粘贴出来能够复制
哦哦,不好意思,老师,刚看到,这个问题我有一半可以解决了,另外一半是一个递增函数的问题。我把数据贴出来,我不知道用哪个模型来拟合,这个就是一个先快速增长,然后增速逐渐变慢,后来达到动态稳定的一个过程。我想着最好用指数或者对数函数模型拟合出来,可是我拟合出来感觉也不合适,不知道怎么改。。。。。。。。
X Y
1 1
2 8
3 12
4 15
5 16
6 16.8
7 16.9
8 17
9 17.1
10 16.9
11 17
12 16.8
13 16.9
14 16.7
15 16.9
16 16.9
17 17
18 17.1
19 17.2
20 17.1
21 17
下面的公式就可以:
y = p1*x^(p2*x)+p3
均方差(RMSE): 0.174101859981879
残差平方和(SSE): 0.636540610632148
相关系数(R): 0.998983325371463
相关系数之平方(R^2): 0.997967684370226
修正R平方(Adj. R^2): 0.997741871522474
确定系数(DC): 0.997967684370226
卡方系数(Chi-Square): 0.0384398533267058
F统计(F-Statistic): 4419.44598946981
参数 最佳估算
---------- -------------
p1 -15.8083853850275
p2 -0.373614960351178
p3 16.9686348242731
c291.jpg
,