声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1636|回复: 11

[编程技巧] 请教一个数据拟合的问题!

[复制链接]
发表于 2006-10-15 17:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
现有一组测量数据xi、yi,
要把他们拟合到直线上,拟合的要求是:
yi=k*xi+N*0.2 ,这就是说,对应于每一点,都要确定一个未知数N,才能将它们拟合到直线上。
同时,要求拟合的残差最小。
请教各位牛人,这个程序怎么编,我就是搞不定啊........:'(
回复
分享到:

使用道具 举报

发表于 2006-10-15 18:22 | 显示全部楼层
N相当于一个中间未知变量,这类问题已有解决的案例。把数据贴出来。
 楼主| 发表于 2006-10-15 19:50 | 显示全部楼层

回复 #2 dingd 的帖子

请多指教。我第一次碰到这个问题,感觉不好解决,挺急的。数据如下:
xi= 0.2253    0.2801    0.3840    0.8087
yi=0.0047    0.0431    -0.0700    -0.0718
这个中间未知变量的问题,有没有什么例子可以参考?
发表于 2006-10-15 20:11 | 显示全部楼层
我拟合得到的系数都感觉有问题,更郁闷。
 楼主| 发表于 2006-10-15 20:20 | 显示全部楼层

回复 #1 legendshao 的帖子

这里的N是整数,可以设定范围在 [-10,10]之间。
发表于 2006-10-15 21:49 | 显示全部楼层
如果N不为整数的话,会有很多组解,如为整数,有一组解如下:
n1: 1
n2: 1
n3: 2
n4: 4
k: 0.891646373890498
不知对否?自己验证一下。
发表于 2006-10-15 21:53 | 显示全部楼层
对不起,符号弄错一个,结果应为:
n1: -1
n2: -1
n3: -2
n4: -4
k: 0.891646373563659
 楼主| 发表于 2006-10-15 22:13 | 显示全部楼层

回复 #7 dingd 的帖子

谢谢!你是用搜索的方法吗?用for循环?
是否可以提供代码?供我研究一下啊,我还没有很好的思路。
发表于 2006-10-26 10:49 | 显示全部楼层
用循环效率低不实用.
这道题是用最新1stOpt测试版算的.对这类缺乏中间变量值的特殊拟合问题,1stOpt现可以很容易设定求解,代码如下:

Algorithm = SM3;
Parameter k;
Variable x, y;
ParVariable N[-10,10,0];
Function y=k*x+N*0.2;
Data;
0.2253        0.0047
0.2801        0.0431
0.3840        -0.0700
0.8087        -0.0718

结果:
k                  0.891646373688953
n0                 -1
n1                 -1
n2                 -2
n3                 -4
 楼主| 发表于 2006-11-8 08:45 | 显示全部楼层

回复 #9 dingd 的帖子

看来这位坛友很推崇1stopt,不知这个东东有没有好的教程。
我下载了一个1.5的绿色版,不知功能是否齐全。请给于指点。
另外,我把你上面的代码直接copy进去,怎么不给出 n0 n1 n2 n3? 请指教。
发表于 2006-11-8 09:51 | 显示全部楼层
1:1.5的绿色版,被破解的千疮百孔,连最重要的编程模式都无法用了,其它还不知有什么毛病。
2:新版2.0都已出来了, 1.5就...
3:缺乏中间变量特殊拟合功能,是最新测试版的,只有极少老注册用户才能得到,2.0也无该功能,1.5就更无法运行上面的代码了。
4:毕竟是不错的国产数值计算软件,有能力的话,还是支持一下好。
 楼主| 发表于 2006-11-8 10:44 | 显示全部楼层

回复 #11 dingd 的帖子

原来是这样!
看来阁下一定是老用户,或者本身就是该公司的人。
小声问一下:怎么才能得到该软件?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 21:52 , Processed in 0.070900 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表