예제 #1
0
        static string Mode(BigNumber[] NumberSeries)
        {
            //仅限于寻找有序数列中的众数
            //多个众数时返回最小的众数
            double    MaxCount      = 0;
            double    CurrentCount  = 0;
            BigNumber MaxNumber     = new BigNumber("0");
            BigNumber CurrentNumber = new BigNumber("0");
            int       len           = NumberSeries.Length;

            for (int i = 1; i < len; i++)
            {
                if (CompareNumber.Compare(NumberSeries[i - 1], NumberSeries[i]) == 0)
                {
                    CurrentCount++;
                    if (CurrentCount > MaxCount)
                    {
                        MaxCount  = CurrentCount;
                        MaxNumber = NumberSeries[i];
                    }
                }
                else
                {
                    CurrentCount = 0;
                }
            }
            if (MaxCount == 0)
            {
                return("NA");
            }
            else
            {
                return(MaxNumber.ToString());
            }
        }
예제 #2
0
        static void Main(string[] args)
        {
            CompareNumber comNumber = new CompareNumber();
            Number        number    = new Number();

            number.getInputNumber = 1;
            Result result = comNumber.checkNumber(number.getInputNumber);

            Console.WriteLine(result.getResult);
        }
예제 #3
0
        static void Sort(int n, BigNumber[] NumberSeries)
        {
            BigNumber temp = new BigNumber("0");

            if (n <= 1)
            {
                return;
            }
            for (int i = 0; i < n - 1; i++)
            {
                if (CompareNumber.Compare(NumberSeries[i], NumberSeries[i + 1]) == 1)
                {
                    temp = NumberSeries[i + 1];
                    NumberSeries[i + 1] = NumberSeries[i];
                    NumberSeries[i]     = temp;
                }
                Sort(n - 1, NumberSeries);
            }
        }
예제 #4
0
        static string HT(BigNumber H0, BigNumber[] NumberSeries, double significance, int tail)
        {
            //Hypothesis Testing假设检验
            string result = ParaEasti(NumberSeries, significance, tail);

            //今天太晚了,我只写了双侧,假定tail = 2,剩下的麻烦你们拓展啦,加油!
            //假设检验当然不一定要在原空空间里做,我这里只是想演示一下如何读取置信区间。
            char[]    separator = { ',' };
            string[]  intervals = result.Split(separator);
            BigNumber lower     = new BigNumber(intervals[0]);
            BigNumber upper     = new BigNumber(intervals[1]);

            if (CompareNumber.Compare(lower, H0) == -1 && CompareNumber.Compare(upper, H0) == 1)
            {
                return("不拒绝原假设");
            }
            else
            {
                return("拒绝原假设");
            }
        }