/******************************************************************************
*函数功能:线性回归算法求得斜率
*入口参数:x:存放自变量x的n个值的首个x值.
*入口参数:y:存放与自变量x的n个值对应的随机变量观测值的数组首地址.
*入口参数:n:观测点数.
*出口参数:a:存放斜率
*说 明:斜率越趋近于0越平稳,大于0说明斜率向高走,小于0说明斜率向低走
******************************************************************************/
double GetCoefficient(int x, int y[], int n)
{
int i = x;
int j = x;
double a ,e,f ,q;
double xx, yy;
xx = 0.0; yy = 0.0;
for (; x < n +i; x++)
{
xx = xx + (double)x / n;
yy = yy + (double)y[x] / n;
}
e = 0.0; f = 0.0;
// printf("xx == %lf , yy == %lf\n",xx,yy);
for (; j < n +i; j++)
{
q = j - xx; e = e + q * q;
f = f + q * ((double)y[j] - yy);
}
a = f / e;
//printf("f == %lf e == %lf a == %lf\n",f,e,a);
return a;
}
求取某一数组中多个点斜率
于 2023-12-15 17:29:19 首次发布