当前位置: 首页 > 计算模拟 >matlab双指数拟合求助

matlab双指数拟合求助

作者 zhouzhenfang
来源: 小木虫 150 3 举报帖子
+关注

请教高手在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

matlab双指数拟合求助
01.png


matlab双指数拟合求助-1
02.png 返回小木虫查看更多

今日热帖
  • 精华评论
  • 独孤神宇

    数据不要截图,直接粘贴出来能够复制

  • zhouzhenfang

    引用回帖:
    2楼: Originally posted by 独孤神宇 at 2017-08-03 14:48:00
    数据不要截图,直接粘贴出来能够复制

    哦哦,不好意思,老师,刚看到,这个问题我有一半可以解决了,另外一半是一个递增函数的问题。我把数据贴出来,我不知道用哪个模型来拟合,这个就是一个先快速增长,然后增速逐渐变慢,后来达到动态稳定的一个过程。我想着最好用指数或者对数函数模型拟合出来,可是我拟合出来感觉也不合适,不知道怎么改。。。。。。。。
    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

  • dingd

    引用回帖:
    3楼: Originally posted by zhouzhenfang at 2017-08-04 15:32:25
    哦哦,不好意思,老师,刚看到,这个问题我有一半可以解决了,另外一半是一个递增函数的问题。我把数据贴出来,我不知道用哪个模型来拟合,这个就是一个先快速增长,然后增速逐渐变慢,后来达到动态稳定的一个过程 ...

    下面的公式就可以:

    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
    matlab双指数拟合求助-2
    c291.jpg


猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓