首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求一拟合算法,

2012-02-04 
求一拟合算法,在线等。请问大家谁能写个拟合公式,要求是根据原点和另外两个点(0 x1 x2 0 y1 y2)

求一拟合算法,在线等。
请问大家谁能写个拟合公式,

要求是根据原点和另外两个点
(0 < x1 < x2 ; 0 < y1 < y2)
拟合出一条直线,

此直线不经过以上任何一点,
在三点的之间的区域内,
类似鱼刺的椎刺那样的形式,

求次算法,拜托了,谢谢,在线等。

[解决办法]
注意:前提是你必须去掉(不能过原点)这种说法,除非你的点另有物理含义

最小二乘意义的解算法如下
假定三点过直线y=kx+b
则三点采样值带入后得到yi=kxi+b i=1,2,3

则我们求E(k,b)=∑[(yi-kxi-b)^2]最小意义上的直线
很显然,这是对k,b的二次方程,必然有最小值
最小值在dE/dk=0和dE/db=0的时得到

上面的微分方程的是一个二元一次方程,很容易求解的
0=dE/dk=-2∑Xi[(yi-kxi-b)]
0=dE/db=-2∑[(yi-kxi-b)]
也就是
k∑XiXi+b∑Xi=∑XiYi
k∑Xi+3b=∑Yi

其中∑表示求和


热点排行