函数功能:直线拟合及相关系数计算。

* 代码 class FunctionMethod { public static void LinearFit(double[] x, double[]
y, out double a, out double b) { double xsum = 0; double ysum = 0; double xysum
= 0; double x2sum = 0; int m = x.Length; for (int i = 0; i < m; i++) { xsum =
xsum + x[i]; ysum = ysum + y[i]; xysum = xysum + x[i] * y[i]; x2sum = x2sum +
x[i] * x[i]; } a = (m * xysum - xsum * ysum) / (m * x2sum - xsum * xsum +
1e-10); b = (ysum - a * xsum) / m; return; } public static void
LinearVal(double[] x, double a, double b, double[] y) { for (int i = 0; i <
x.Length; i++) { y[i] = a * x[i] + b; } } public static double
Corrcoef(double[] d1, double[] d2) { double xy = 0, x = 0, y = 0, xsum = 0,
ysum = 0; double corrc; int m = d1.Length; for (int i = 0; i < m; i++) { xsum
+= d1[i]; ysum += d2[i]; } for (int i = 0; i < m; i++) { x = x + (m * d1[i] -
xsum) * (m * d1[i] - xsum); y = y + (m * d2[i] - ysum) * (m * d2[i] - ysum); xy
= xy + (m * d1[i] - xsum) * (m * d2[i] - ysum); } corrc = Math.Abs(xy) /
(Math.Sqrt(x) * Math.Sqrt(y)); return corrc; } }
* 引用 FunctionMethod.LinearFit(xfit, yfit, out double slope, out double
interp); FunctionMethod.LinearVal(xfit, slope, interp, y); Corrcoef =
FunctionMethod.Corrcoef(yfit, y);
 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信