免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5386 | 回复: 4
打印 上一主题 下一主题

用Gnuplot拟合曲线时遇到的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-25 02:53 |只看该作者 |倒序浏览
我在用Gnuplot拟合一组2维数据做函数曲线时遇到问题,我所需要拟合的函数是
        y(x)=a*(1-exp(-b*x))
至于gnuplot的命令我只输入了2行
       gnuplot> y(x)=a*(1-exp(-b*x))
          gnuplot> fit y(x) "7_661.txt" via a,b
附件中是数据的txt文件(7_661.txt)和错误的信息(fit.log),请某位高手帮我纠正一下?
661.rar (8.29 KB, 下载次数: 28)

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
2 [报告]
发表于 2010-11-25 09:31 |只看该作者
本帖最后由 zhlong8 于 2010-11-25 09:32 编辑

推荐楼主各版都发下,gnuplot 没用过啊

看错误报告是不是楼主没有定义 a b 的原因?

论坛徽章:
0
3 [报告]
发表于 2010-11-25 09:47 |只看该作者
建议采用 更专业的 matlab?或者 origin

论坛徽章:
0
4 [报告]
发表于 2010-11-25 16:35 |只看该作者
本帖最后由 longbow0 于 2010-11-25 16:55 编辑

参考 http://objectmix.com/graphics/139483-fit-error.html

似乎是因为 exp 计算溢出的问题。

  1. fit [0:100] y(x) "7_661.txt" via a,b
复制代码
的结果

  1. resultant parameter values

  2. a               = 20234.9
  3. b               = 0.000172065

  4. After 1129 iterations the fit converged.
  5. final sum of squares of residuals : 106832
  6. rel. change during last iteration : -1.94498e-06

  7. degrees of freedom    (FIT_NDF)                        : 999
  8. rms of residuals      (FIT_STDFIT) = sqrt(WSSR/ndf)    : 10.3411
  9. variance of residuals (reduced chisquare) = WSSR/ndf   : 106.939

  10. Final set of parameters            Asymptotic Standard Error
  11. =======================            ==========================

  12. a               = 20234.9          +/- 1.976e+04    (97.66%)
  13. b               = 0.000172065      +/- 0.0001691    (98.29%)


  14. correlation matrix of the fit parameters:

  15.                a      b      
  16. a               1.000
  17. b              -1.000  1.000
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-11-26 10:38 |只看该作者
本帖最后由 longbow0 于 2010-11-26 10:40 编辑

回复 1# hys850415

参考

似乎是因为 exp 计算溢出的问题。的结果
longbow0 发表于 2010-11-25 16:35


另外,一个奇怪的现象,从 fit [0:10] 开始算,算 [0:100],[0:500] 等都没问题,但是像 LZ 直接算就会出错。

不知道是不是因为算 [0:10] 时设置了初始值的原因。请方家指教。

[0:1000] 的结果

  1. resultant parameter values

  2. a               = 593.897
  3. b               = 0.0085966

  4. After 9 iterations the fit converged.
  5. final sum of squares of residuals : 1.33301e+06
  6. rel. change during last iteration : -2.49892e-06

  7. degrees of freedom    (FIT_NDF)                        : 4998
  8. rms of residuals      (FIT_STDFIT) = sqrt(WSSR/ndf)    : 16.3312
  9. variance of residuals (reduced chisquare) = WSSR/ndf   : 266.708

  10. Final set of parameters            Asymptotic Standard Error
  11. =======================            ==========================

  12. a               = 593.897          +/- 0.4864       (0.0819%)
  13. b               = 0.0085966        +/- 2.379e-05    (0.2767%)



  14. correlation matrix of the fit parameters:

  15.                a      b      
  16. a               1.000
  17. b              -0.811  1.000
复制代码
这时候曲线和数据拟合的比较好了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP