本文共 1066 字,大约阅读时间需要 3 分钟。
线性函数模型
典型的一类函数模型是线性函数模型。最简单的线性式是,写成矩阵式,为 直接给出该式的参数解:和
其中,为t值的算术平均值。也可解得如下形式: b1为斜率,b0为截距,可以先根据x,y数组,以及上面的公式先计算出斜率,再计算截距。 因为原来参考代码中,返回为一个数组,根据与原来代码的兼容性,调用LinearResult(double[],double[])方法返回是一个数组。result[0]为斜率,result[1]为截距。class Linear
{ public double[] LinearResult(double[] arrayX, double[] arrayY) { double[] result = { 0, 0 }; if (arrayX.Length == arrayY.Length) { double averX = arrayX.Average(); double averY = arrayY.Average(); result[0] = Scale(averX, averY, arrayX, arrayY); result[1] = Offset(result[0],averX,averY); } return result; } private double Scale(double averX, double averY, double[] arrayX, double[] arrayY) { double scale = 0; if (arrayX.Length == arrayY.Length) { double Molecular = 0; double Denominator = 0; for (int i = 0; i < arrayX.Length; i++) { Molecular += (arrayX[i] - averX) * (arrayY[i] - averY); Denominator += Math.Pow((arrayX[i] - averX), 2); } scale = Molecular / Denominator; } return scale; } private double Offset(double scale, double averX,double averY) { double offset = 0; offset = averY - scale * averX; return offset; } }
转载地址:http://gzlws.baihongyu.com/