星期五, 九月 22, 2006

线性y=ax+b和y=ax拟合的算法代码

void fit1(vector &x, vector &y, double &a, double &b)
//用y=ax+b拟合
{
UINT i;
double t, sxoss, sx=0.0, sy=0.0, st2=0.0;
UINT ndata = x.size();
b = 0.0;
for (i=0; i &x, vector &y, double &a, double &b)
//用y=ax+b拟合
{
UINT i;
double sx=0.0, sy=0.0, sxx=0.0, sxy=0.0, sx2=0.0;
UINT ndata = x.size();
for (i=0; i &x, const vector &y, double &a)
//用y=ax拟合
{
double sxx, sxy;
int ndata = x.size();
sxx=sxy=0.0;
for (int i=0; i


注:fit1是根据《C++数值算法》里的去掉了权值的修改;fit3是根据计算原理直接写出的,还有另外的写法就不贴出了;fit2也是根据计算原理写出的

没有评论: