Exemplo n.º 1
0
        private string _GetResultForA1()
        {
            var result      = "";
            var clastResult = _result.GetResult();

            var    objectsInClasters = clastResult.Select(i => i.Value.Claster).GroupBy(i => i, (i, j) => (double)j.Count()).ToList();
            double resultValue       = objectsInClasters.StdDev();

            var scale      = FuzzyScaleRepository.ForA1();
            var scaleValue = scale.GetAccessory((decimal)resultValue);

            if (scaleValue.Name == "P13")
            {
                result += $"<p>По числу элементов кластеры отличаются сильно (степень истинности {scaleValue.Value:0.00}).</p>";
            }
            else if (scaleValue.Name == "P12")
            {
                result += $"<p>По числу элементов кластеры различаются не сильно (степень истинности {scaleValue.Value:0.00}).</p>";
            }
            else if (scaleValue.Name == "P11")
            {
                result += $"<p>По числу элементов кластеры практически одинаковы (степень истинности {scaleValue.Value:0.00}).</p>";
            }
            else
            {
                throw new ArgumentException();
            }

            return(result);
        }
Exemplo n.º 2
0
        private void graphA1Panel_Paint(object sender, PaintEventArgs e)
        {
            var scale = FuzzyScaleRepository.ForA1();

            DrawGraph(scale, e.Graphics);
        }