Exemplo n.º 1
0
        private double GetMedian(List <Task1.Interval> l)
        {
            double halfOfSumOfFrequencies = l[l.Count - 1].accumulatedFrequency / 2;

            Task1.Interval temp = l[0];
            int            i    = 1;

            while (temp.accumulatedFrequency < halfOfSumOfFrequencies)
            {
                temp = l[i];
                i++;
            }
            i--;
            double result = temp.leftEdge + (temp.rightEdge - temp.leftEdge) * (halfOfSumOfFrequencies - l[i - 1].accumulatedFrequency) / (temp.Frequency);
            string output = $"{ temp.leftEdge:f2}+{temp.rightEdge - temp.leftEdge:f2}*({halfOfSumOfFrequencies:f2}-{l[i - 1].accumulatedFrequency:f2})/{temp.Frequency:f2}={result:f2}";

            medianaTB.Text = output;
            return(result);
        }
Exemplo n.º 2
0
        private double GetModa(List <Task1.Interval> l)
        {
            Task1.Interval temp  = l[0];
            int            index = 0;

            for (int i = 1; i < l.Count; i++)
            {
                if (temp.Frequency < l[i].Frequency)
                {
                    index = i;
                    temp  = l[i];
                }
            }

            double result = 0;

            result = temp.leftEdge + (temp.rightEdge - temp.leftEdge) * (temp.Frequency - l[index - 1].Frequency) /
                     ((temp.Frequency - l[index - 1].Frequency) + (temp.Frequency - l[index + 1].Frequency));
            string output = $"{temp.leftEdge:f2}+{(temp.rightEdge - temp.leftEdge):f2}*" +
                            $"({temp.Frequency}-{l[index - 1].Frequency})/(({temp.Frequency}-{l[index - 1].Frequency})+({temp.Frequency}-{l[index + 1].Frequency}))={result:f2}";

            modTB.Text = output;
            return(result);
        }