Exemplo n.º 1
0
 public void Input()
 {
     var inputs = new List <decimal>()
     {
         1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
     };
     var app = new AgrupamentoApp().Build(inputs);
 }
Exemplo n.º 2
0
        public VariavelDiscretaContainerEntity Build(BaseInputsEntity baseInputs)
        {
            var f                     = new List <decimal>();
            var fePorcentList         = new List <decimal>();
            var listaVariavelDiscreta = new List <VariavelDiscretaEntity>();



            var media       = MathCoreApp.MediaComum(baseInputs.InputValue);
            var agrupamento = new AgrupamentoApp().Build(baseInputs.Rol);

            foreach (var item in agrupamento)
            {
                var fePorcent = MathCoreApp.Porcentagem(item.Quantidade, agrupamento.Select(q => q.Quantidade).Sum());

                f.Add(item.Quantidade);
                fePorcentList.Add(fePorcent);

                listaVariavelDiscreta.Add(new VariavelDiscretaEntity
                {
                    XI         = item.XI,
                    FI         = item.Quantidade,
                    FEPorcent  = Math.Round(fePorcent, 2),
                    F          = f.Sum(),
                    FPorcent   = fePorcentList.Sum(),
                    XIFI       = item.XI * item.Quantidade,
                    XIFIQuadFI = PreencherXIFIQUADFI(item.XI, media, item.Quantidade),
                });
            }

            var medidasTendenciaApp = new MedidasTendenciaApp().Calcular(baseInputs.InputValue);

            var variancia = Variancia(listaVariavelDiscreta.Select(q => q.XI).ToList(), listaVariavelDiscreta.Select(q => q.FI).ToList(), media, baseInputs.Amostra);
            var dp        = MathCoreApp.RaizQuadrada(variancia);
            var cv        = Math.Round((decimal)((dp / media)) * 100, 2);

            var medidasDispersaoApp = new MedidasDispersaoEntity
            {
                Variancia = variancia,
                DP        = dp,
                CV        = cv
            };

            return(new VariavelDiscretaContainerEntity
            {
                InputValue = baseInputs.InputValue,
                Rol = baseInputs.Rol,
                VariavelDiscretaEntity = listaVariavelDiscreta,
                MedidasDispersaoEntity = medidasDispersaoApp,
                MedidasTendenciaEntity = medidasTendenciaApp,
                AgrupamentoEntity = agrupamento
            });
        }