static LSFResults CalculateLeastSquaresFit(int n, double indSummation, double deSummation, double indSumPow, double crossSum, double uncertSumPow) { var retStruct = new LSFResults(); retStruct.Slope = (n * crossSum - indSummation * deSummation) / (n * indSumPow - Math.Pow(indSummation, 2)); retStruct.YIntercept = (indSumPow * deSummation - indSummation * crossSum) / (n * indSumPow - Math.Pow(indSummation, 2)); retStruct.Sy = Math.Sqrt(uncertSumPow / (n - 2)); retStruct.Sb = retStruct.Sy * Math.Sqrt(indSumPow / (n * indSumPow - Math.Pow(indSummation, 2))); retStruct.Sm = retStruct.Sy * Math.Sqrt(n / (n * indSumPow - Math.Pow(indSummation, 2))); return(retStruct); }
static LSFResults CalculateLeastSquaresFit(int n, double indSummation, double deSummation, double indSumPow, double crossSum, double uncertSumPow) { var retStruct = new LSFResults(); retStruct.Slope = (n*crossSum - indSummation*deSummation)/(n*indSumPow - Math.Pow(indSummation, 2)); retStruct.YIntercept = (indSumPow*deSummation - indSummation*crossSum)/(n*indSumPow - Math.Pow(indSummation, 2)); retStruct.Sy = Math.Sqrt(uncertSumPow/(n - 2)); retStruct.Sb = retStruct.Sy*Math.Sqrt(indSumPow/(n*indSumPow - Math.Pow(indSummation, 2))); retStruct.Sm = retStruct.Sy*Math.Sqrt(n/(n*indSumPow - Math.Pow(indSummation, 2))); return retStruct; }