예제 #1
0
        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;
        }