C 语言版的线性回归分析函数 分类: C/C++ 2024-08-03 23:39 13840 人阅读 评论(31) 收藏 举报 语言 c 数学计算 delphi system 前几天,清理出一些十年以前 DOS 下的程序与代码,看来目前也没什么用了,想打个包刻在光碟上,却发现有些代码现在可能还能起作用,其中就有计算一元回归和多元回归的代码,一看代码文件时间,居然是 1993 年的,于是稍作整理,存放在这,分析虽不十分完整,但一般应用是没问题的,最起码,可提供给那些刚学 C 的学生们参考
先看看一元线性回归函数代码: // 求线性回归方程:Y = a + bx// dada[rows*2]数组:X, Y;rows:数据行数;a, b:返回回归系数// SquarePoor[4]:返回方差分析指标: 回归平方和,剩余平方和,回归平方差,剩余平方差// 返回值:0 求解成功,-1 错误int LinearRegression(double *data, int rows, double *a, double *b, double *SquarePoor){ int m; double *p, Lxx = 0
0, Lxy = 0
0, xa = 0
0, ya = 0
0; if (data == 0 || a == 0 || b == 0 || rows < 1) return -1; for (p = data, m = 0; m < rows; m ++) { xa += *p ++; ya += *p ++; } xa /= rows; // X 平均值 ya /= rows; // Y 平均值 for (p = data, m = 0; m < rows; m ++, p += 2) { Lxx += ((*p - xa) * (*p - xa)); // Lxx =