当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求助:gnuplot拟合失败
帖子发表于 : 2010-04-10 23:16 

注册: 2010-01-11 17:11
帖子: 31
地址: 柳州
送出感谢: 0 次
接收感谢: 0 次
数据是按照正确格式排好了的,扩展名应给不会造成影响吧:
0.00 0.0378
0.50 0.0382
1.00 0.0389
1.50 0.0397
2.00 0.0401
2.50 0.0401
......
357.50 0.0322
358.00 0.0334
358.50 0.0343
359.00 0.0353
359.50 0.0360
360.00 0.0367
上传的截图里,红色的是原始的数据线,绿色的是gnuplot的拟合曲线,我的拟合就两步:
gnuplot> y(x)=a*sin(b*x+c)+d
gnuplot> fit y(x) 'tang1.pzg' via a,b,c,d
拟合最后的数据是:
Final set of parameters Asymptotic Standard Error
======================= ==========================
a = -0.00218816 +/- 0.003089 (141.2%)
b = 1.01856 +/- 0.01331 (1.306%)
c = -0.254515 +/- 2.737 (1075%)
d = 0.0784125 +/- 0.002137 (2.725%)
correlation matrix of the fit parameters:
a b c d
a 1.000
b -0.208 1.000
c 0.180 -0.863 1.000
d -0.006 0.001 0.001 1.000
之后plot:
gnuplot> plot 'tang1.pzg' w lines,y(x)
Fontconfig error: "~/.fonts.conf", line 1: no element found
gnuplot> set samples 1000
gnuplot> replot
出来的就是那个样子了。用gnuplot拟合了很多很多次,只有一次拟合得比较好,其它的都和这个差不
多,很糟糕,而且发现拟合出的a,b,c,d经常一次不同一次,我用谷歌(.com.hk)搜过,在坛子里搜过,
wiki好像也看过,没什么收获,现在只有发贴求教,希望各位大牛们能指点一下,感激不尽!谢谢!


附件:
Screenshot-Gnuplot (window id _ 0).png
Screenshot-Gnuplot (window id _ 0).png [ 39 KiB | 被浏览 924 次 ]



_________________
twitter:@radaiming
页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-11 1:24 
头像

注册: 2005-10-16 8:26
帖子: 1937
地址: 地球
送出感谢: 0 次
接收感谢: 1
你没有给abcd赋初值,或者赋的初值不合适,拟合就有可能失败。把代码改成

y(x)=a*sin(b*x+c)+d
a=0.09
d=0.09
b=2*pi/150
c=1
fit y(x) 'tang1.pzg' via a,b,c,d


_________________
http://www.pandabang.info


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-11 2:12 
头像

注册: 2005-10-16 8:26
帖子: 1937
地址: 地球
送出感谢: 0 次
接收感谢: 1
比如我对附件里的数据进行拟合

1.
f(x)=a*sin(b*x+c)+d
fit f(x) data via a, b, c, d
plot f(x), data

得到的结果如图1所示

2.
f(x)=a*sin(b*x+c)+d
a=0.09
b=2*pi/150
c=0.4
d=0.1
fit f(x) data via a, b, c, d
plot f(x), data

得到的结果如图2所示


附件:
文件注释: 图2
2.png
2.png [ 35.76 KiB | 被浏览 914 次 ]

文件注释: 图1
1.png
1.png [ 30.91 KiB | 被浏览 914 次 ]

data.tar.gz [4.15 KiB]
被下载 9 次


_________________
http://www.pandabang.info
页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-11 12:41 

注册: 2010-01-11 17:11
帖子: 31
地址: 柳州
送出感谢: 0 次
接收感谢: 0 次
goldfox_79, 非常感谢您,那这么说赋的初值不同,对最后结果会造成较大影响,对吗,那这样怎么保证拟合的准确性呢?抱歉我还没有学习过拟合的相关理论知识,不知这样叙述是否恰当,只是这次做实验出的数据不好,想拟合一下。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-11 16:47 
头像

注册: 2005-10-16 8:26
帖子: 1937
地址: 地球
送出感谢: 0 次
接收感谢: 1
我也不懂,都是凭经验设置变量初值


_________________
http://www.pandabang.info


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-13 20:26 

注册: 2010-01-11 17:11
帖子: 31
地址: 柳州
送出感谢: 0 次
接收感谢: 0 次
goldfox_79, 谢谢你了,我上周末下午把数据全部拟合好了,非常感谢!
赋的初值真的很重要,第一次拟合失败后,初值稍稍改变一点就很可能好了。


_________________
twitter:@radaiming


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-13 21:31 

注册: 2008-10-08 22:01
帖子: 660
送出感谢: 0 次
接收感谢: 2
这样我更喜欢用GNU Octave来实现


_________________
代码:
其实我是个Debian GNU/Linux用户

Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2010-04-13 21:43 

注册: 2008-10-08 22:01
帖子: 660
送出感谢: 0 次
接收感谢: 2
当我没说 我觉得gnuplot这个功能真的不错
octave我只会一个多项式拟合 结果比较挫


附件:
fit.png
fit.png [ 13.61 KiB | 被浏览 872 次 ]



_________________
代码:
其实我是个Debian GNU/Linux用户

Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969
页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助:gnuplot拟合失败
帖子发表于 : 2011-06-21 19:26 

注册: 2011-06-21 19:24
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
这个也不是多项式ax*x+b*x+c阿


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译