曲线拟合高手看过来,超难题目!
有如下数据
X Y
0.13 49.78
0.18 49.48
0.24 48.79
0.32 47.22
0.42 43.90
0.56 37.69
0.75 28.42
xy的函数关系为: y=(a-d)/(1+(x/c)^b)+d
求公式中的a,b,c,d 四个变量
要求用VB制作.做出来给100分还有RMB100元奖励.
[最优解释]
问题本身与要拟合的非线性模型是无关的
Levenberg-Marquardt算法求解
看在 数值分析 老师教诲的份上,昨夜鏖战将程序写完
参数x0=(a b c d)的初值的选取是有一定影响的
下面是我的结果:
对第二组数据
x0=(2 1 100 0)
ans=(2.2547 0.9257 532.0415 0.0629)
对第一组数据
x0=(2 1 10 1)
ans=(2.2547 0.9257 532.0415 0.0629 )
LZ要的话晚上联系我!
[其他解释]
呵呵
RMB100元奖励?
真的?假的?
怎么给?
[其他解释]
回楼上,支付宝支付.
[其他解释]
先围观一下…………
[其他解释]
要通用算法,做成函数,可以把X(),Y()代进去,就求出abcd.不仅仅是这组数据哦.
例如:下面这组数据:
X Y
12.249
302.086
1001.929
3001.386
10000.882
30000.419
求出来的abcd是: a=2.254728444b=0.925667379c=532.0395418d=0.062871879
[其他解释]
楼主,晚点我给你源码。
[其他解释]
回楼上.OK,加油哦.验证好用,立即付款.先到先得.
[其他解释]
重赏之下,必有勇夫,余本农夫,闪人!
[其他解释]
有高手研究过吗?速度
[其他解释]
哇 这可怎么算涅
[其他解释]
该回复于2010-09-02 17:13:59被版主删除
[其他解释]
先给你几个思路,授人以渔,具体解决办法,代码后边再说。
首先,拟合要求精度不是特别高,或者采样点偏离不是特别大的情况下,可以采用最小二乘法拟合。
其次,采用最小二乘法拟合,要找到公式的线性部分。
再者,公示中若含有指数则立刻想到需要用对数函数去掉指数。
再后者,在纸上算出线性公式,编写代码,得到拟合参数。
因此,拟合你这个公式已经是很简单的事了。
所以你要真掏RMB的话,会后悔滴。。。。。。
[其他解释]
[其他解释]