数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 7346|回复: 15

请教一个多元超越方程做拟合曲线的问题!!

[复制链接]
发表于 2009-7-27 11:19 | 显示全部楼层 |阅读模式

我有8组(X,Y),分别是:
X: 0.500000 Y: 2.000000
X: 1.000000 Y: 3.000000
X: 1.500000 Y: 4.400000
X: 2.000000 Y: 5.600000
X: 2.500000 Y: 6.800000
X: 3.000000 Y: 7.400000
X: 3.500000 Y: 8.300000
X: 4.000000 Y: 9.600000
需要做如下拟合:
y = (a-d)/(1+(x/c)^b)+d
要求解其中的四个参数:a, b, c, d
我在网上找到一个方法:
设拟合方程记为:Y(X)=F(Ai,X)(1≤i≤k)
其中:Ai是待定常数(相当于a,b,c,d)
实际数据记为(Xj,Yj),对应的理论值记为(Xj,Y(Xj)),偏差记为Δj,则:
Δj=Y(Xj)-Yj=F(Ai,Xj)-Yj
Δ=ΣΔj^2
对Δ求Ai的偏导为零,得k个方程,共有k个未知量Ai,解之得到a、b、c、d的值。但是我的数学不太好,有谁能帮我写一下具体的步骤,小弟不是数学专业,请教各位,谢谢!
发表于 2009-7-27 15:25 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

[这个贴子最后由luyuanhong在 2009/07/27 03:26pm 第 1 次编辑]

这是一个非线性回归问题,一般来说,不可能用求偏导数的方法求解,但是,可以用计算机软件求解如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-7-27 15:58 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

luyuanhong 大哥,谢谢你的回答,请问你用的是那种计算机软件?
发表于 2009-7-27 19:28 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

下面引用由yazzyazz2009/07/27 03:58pm 发表的内容:
luyuanhong 大哥,谢谢你的回答,请问你用的是那种计算机软件?
我是用我自己开发的软件计算的。
发表于 2009-7-27 19:44 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

下面引用由yazzyazz2009/07/27 03:58pm 发表的内容:
luyuanhong 大哥,谢谢你的回答,请问你用的是那种计算机软件?
应该叫陆教授,看来你连这里赫赫有名的陆园鸿教授都不知道,初来砸到。
请问陆教授,您是用什么语言编的,是用vc++6.0吗?
发表于 2009-7-27 21:54 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

我的软件是用 Delphi 语言编写的。
 楼主| 发表于 2009-7-28 09:28 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

不好意思陆教授,我初来乍到,不知道您,不好意思!
还有一个问题:a、b、c、d初始值未知情况下能不能得到最好的拟合曲线?
因为您的软件里需要设置初始值,不太明白为什么要设置初始值
发表于 2009-7-28 17:31 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

下面引用由yazzyazz2009/07/28 09:28am 发表的内容:
还有一个问题:a、b、c、d初始值未知情况下能不能得到最好的拟合曲线?
因为您的软件里需要设置初始值,不太明白为什么要设置初始值
非线性回归问题,一般来说,不可能用求偏导数的方法求解,只能用计算机软件,用数值方法求解。
用计算机软件数值方法求解非线性回归问题的基本思想是:
首先,给出回归方程中未知参数的一组初始值,同时给定一个迭代初始步长和一个迭代收敛准则,
然后让计算机软件从这一组初始值开始,反复迭代,逐步搜索。
在搜索中,步长不断减小,当步长减小到满足收敛准则时,迭代搜索停止,给出搜索计算得到的结果。
由此可见,在非线性回归数值计算中,初始值是不可缺少的,没有初始值,就无法开始迭代搜索。
而且,在非线性回归的数值计算中,初始值的选取,是非常重要的:
初始值选得好,能够迅速地计算出我们所需要的结果。
初始值选得不好,计算速度就会很慢,甚至求不出结果,或者虽然求出结果,但是计算结果很差,
根本不是我们希望得到的解。
那么,怎样才能选定合适的初始值呢?
(1)一般来说,回归问题总是有实际意义的,可以根据回归参数的实际意义,确定它们大概的初始值。
(2)可以查找文献资料,查找网上信息,参考别人做过的类似的计算结果,确定回归参数的初始值。
(3)如果上面这些方法都不行,那就只能随便给定一组初始值了,然后,看计算结果怎样。
如果结果不好,就再换一组其他的初始值,看结果怎样。这样不断试下去,直至得到一个满意的结果为止。
 楼主| 发表于 2009-7-28 17:44 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

[这个贴子最后由yazzyazz在 2009/07/28 05:46pm 第 1 次编辑]

谢谢您的回答,您真是博学啊!
都怪自己在高中和大学没学好数学,现在补真是晚了! :em16:
发表于 2009-7-28 18:05 | 显示全部楼层

请教一个多元超越方程做拟合曲线的问题!!

下面引用由luyuanhong2009/07/27 09:54pm 发表的内容:
我的软件是用 Delphi 语言编写的。
pascal的升级。比较严谨的数学语言。我是用C++,运行要快些。不知陆教授会不会?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-17 02:44 , Processed in 0.117614 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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