您的位置:程序门 -> c/c++ -> c++ 语言



挑战你的能力——向对自己算法有信心的高人请教(多指数拟合问题)


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


挑战你的能力——向对自己算法有信心的高人请教(多指数拟合问题)
发表于:2007-04-03 15:32:36 楼主
题目是这样的f(t)=a1exp(-t/t1)+a2exp(-t/t2)+a3exp(-t/t3)+a4,给一系列的(t,f(t)),现在要把题目中的七个常数拟合出来,哪位高手能提供c\c++源码,不胜感激
发表于:2007-04-03 16:37:061楼 得分:0
不能沉
发表于:2007-04-03 16:59:142楼 得分:0
不是解方程么?
发表于:2007-04-03 17:12:573楼 得分:0
不理解题目意思呀,能解释一下吗?
发表于:2007-04-04 01:40:544楼 得分:0
这可是个艰巨的任务,代码量很大。
发表于:2007-04-05 12:45:555楼 得分:0
举个简单的例子,比如知道x1=1,y1=2;x2=2,y2=3;x3=3,y3=4........;那么我就可以拟合出一条直线y=x+1;也就是把方程系数给出,题目是这样的f(t)=a1exp(-t/t1)+a2exp(-t/t2)+a3exp(-t/t3)+a4,给一系列的(t,f(t)),现在要把题目中的七个常数拟合出来,哪位高手能提供c\c++源码,不胜感激
发表于:2007-04-05 18:30:026楼 得分:0
f(t)=a1exp(-t/t1)+a2exp(-t/t2)+a3exp(-t/t3)+a4
这个式子是不是应该是这样的哦:f(t)=a1*exp(-t/t1)+a2*exp(-t/t2)+a3*exp(-t/t3)+a4
发表于:2007-04-05 18:59:567楼 得分:0
根据你给的例子,显然a4=1,那么其他六个值无论是什么不可能不含有   e   指数的!!我的数学不怎么好我是这样想的!不过给七组值方程倒是可以解出来!!
发表于:2007-04-05 23:04:548楼 得分:0
看看
发表于:2007-04-05 23:24:179楼 得分:0
最小二乘法
发表于:2007-04-05 23:58:5710楼 得分:0
因为有t1,   t2,   t3,就无法转成线性的了
因此很难求解

非线性拟合,最小二乘法也用不上
发表于:2007-04-07 03:04:2111楼 得分:0
这种求极值问题其实都叫做最小二乘法的,只不过求导的时候还是导数还是指数型的而已。
发表于:2007-04-07 14:14:4512楼 得分:0
指数型的方程不好解,  
可以尝试用麦克劳林展开式将exp(-t/tn)展开成冥级数的形式,   再用最小二乘法拟合出近似的函数.
发表于:2007-04-07 15:02:5213楼 得分:0
楼上正解。
发表于:2007-04-09 09:55:0714楼 得分:0
用麦克劳林展开式将exp(-t/tn)展开成冥级数的形式,z此法可能可以,没有试过,我查到有的文献里有用叫麦夸特法的,可惜是英语的文献,也没有源程序,不知哪位用过这个方法,指点一二,不胜感激,感谢楼上的各位出谋划策!
发表于:2007-04-09 09:59:4615楼 得分:0
实际上就是求一组非线性方程组,numerical   recipe里面有现成的c++   code,   拿来用就是了,没那么麻烦。
发表于:2007-04-09 10:11:4816楼 得分:0
a1=a2=a3=t1=t2=t3=1
a4=ft-3
发表于:2007-04-11 20:52:0917楼 得分:0
呵呵,看来还是没有人能解出!


快速检索

最新资讯
热门点击