Пример #1
0
        /* Método que calcula as estatisticas finais.
         * Calcula a media e a variancia final do tempo de espera na fila e da quantidade de fregueses na fila.
         * Calcula os ICs da média e da variancia e suas respectivas precisoes;
         */
        public void CalculaEstatisticasFinais()
        {
            foreach (var estatistica in listaEstatisticas)
            {
                somaTempoMedio      += estatistica.TempoMedio;
                somaQuantidadeMedia += estatistica.QuantidadeMedia;
            }

            tempoMedioFinal     = somaTempoMedio / listaEstatisticas.Count;
            varianciaTempoFinal = _geradorEstatisticas.CalculaVarianciaAmostral(listaEstatisticas.Select(l => l.TempoMedio).ToList(), tempoMedioFinal, listaEstatisticas.Count);

            mediaPessoasFinal     = somaQuantidadeMedia / listaEstatisticas.Count;
            varianciaPessoasFinal = _geradorEstatisticas.CalculaVarianciaAmostral(listaEstatisticas.Select(l => l.QuantidadeMedia).ToList(), mediaPessoasFinal, listaEstatisticas.Count);

            icMedia     = _geradorEstatisticas.CalculaIC(tempoMedioFinal, varianciaTempoFinal, VariavelAleatoria.TSTUDENT, listaEstatisticas.Count);
            icVariancia = _geradorEstatisticas.CalculaIC(tempoMedioFinal, varianciaTempoFinal, VariavelAleatoria.CHIQUADRADO, listaEstatisticas.Count);

            icPessoasMedia     = _geradorEstatisticas.CalculaIC(mediaPessoasFinal, varianciaPessoasFinal, VariavelAleatoria.TSTUDENT, listaEstatisticas.Count);
            icPessoasVariancia = _geradorEstatisticas.CalculaIC(mediaPessoasFinal, varianciaPessoasFinal, VariavelAleatoria.CHIQUADRADO, listaEstatisticas.Count);

            double covTempo   = _geradorEstatisticas.CalculaCovariancia(listaEstatisticas.Select(l => l.TempoMedio), tempoMedioFinal);
            double covPessoas = _geradorEstatisticas.CalculaCovariancia(listaEstatisticas.Select(l => l.QuantidadeMedia), mediaPessoasFinal);
        }
Пример #2
0
        public void CalculaEstatisticasFinais()
        {
            double tempoMedioFinal;
            double varianciaTempoFinal;
            double somaTempoMedio = 0;

            double mediaPessoasFinal;
            double varianciaPessoasFinal;
            double somaQuantidadeMedia = 0;

            IntervaloConfianca icMedia;
            IntervaloConfianca icVariancia;
            IntervaloConfianca icPessoasMedia;
            IntervaloConfianca icPessoasVariancia;

            foreach (var estatistica in listaEstatisticas)
            {
                somaTempoMedio      += estatistica.TempoMedio;
                somaQuantidadeMedia += estatistica.QuantidadeMedia;
            }

            tempoMedioFinal     = _geradorEstatisticas.CalculaMediaAmostral(somaTempoMedio, listaEstatisticas.Count);
            varianciaTempoFinal = _geradorEstatisticas.CalculaVarianciaAmostral(listaEstatisticas.Select(l => l.TempoMedio).ToList(), tempoMedioFinal, listaEstatisticas.Count);

            mediaPessoasFinal     = _geradorEstatisticas.CalculaMediaAmostral(somaQuantidadeMedia, listaEstatisticas.Count);
            varianciaPessoasFinal = _geradorEstatisticas.CalculaVarianciaAmostral(listaEstatisticas.Select(l => l.QuantidadeMedia).ToList(), mediaPessoasFinal, listaEstatisticas.Count);

            icMedia     = _geradorEstatisticas.CalculaIC(tempoMedioFinal, varianciaTempoFinal, VariavelAleatoria.TSTUDENT, listaEstatisticas.Count);
            icVariancia = _geradorEstatisticas.CalculaIC(tempoMedioFinal, varianciaTempoFinal, VariavelAleatoria.CHIQUADRADO, listaEstatisticas.Count);

            icPessoasMedia     = _geradorEstatisticas.CalculaIC(mediaPessoasFinal, varianciaPessoasFinal, VariavelAleatoria.TSTUDENT, listaEstatisticas.Count);
            icPessoasVariancia = _geradorEstatisticas.CalculaIC(mediaPessoasFinal, varianciaPessoasFinal, VariavelAleatoria.CHIQUADRADO, listaEstatisticas.Count);

            //shak altera

            double covTempo   = _geradorEstatisticas.CalculaCovariancia(listaEstatisticas.Select(l => l.TempoMedio), tempoMedioFinal);
            double covPessoas = _geradorEstatisticas.CalculaCovariancia(listaEstatisticas.Select(l => l.QuantidadeMedia), mediaPessoasFinal);

            //shak altera

            Console.WriteLine("--------------------------------------------------------------------");
            Console.WriteLine("Rodadas: " + listaEstatisticas.Count + " KMIN: " + Constantes.KMIN + " Utilizacao: " + TAXA_CHEGADA);
            Console.WriteLine("");
            Console.WriteLine("Tempo Medio: " + tempoMedioFinal);
            Console.WriteLine("Variancia Tempo: " + varianciaTempoFinal);
            Console.WriteLine("Intervalo de Confiança Media:");
            Console.WriteLine("    L: {0}, U: {1}, P: {2}", icMedia.L, icMedia.U, icMedia.Precisao);
            Console.WriteLine("Intervalo de Confiança Variancia:");
            Console.WriteLine("    L: {0}, U: {1}, P: {2}", icVariancia.L, icVariancia.U, icVariancia.Precisao);
            Console.WriteLine("Cov: {0}", covTempo);

            Console.WriteLine("");

            Console.WriteLine("Numero de Pessoas Medio: " + mediaPessoasFinal);
            Console.WriteLine("Variancia do numero de pessoas: " + varianciaPessoasFinal);
            Console.WriteLine("Intervalo de Confiança numero de pessoas medio:");
            Console.WriteLine("    L: {0}, U: {1}, P: {2}", icPessoasMedia.L, icPessoasMedia.U, icPessoasMedia.Precisao);
            Console.WriteLine("Intervalo de Confiança variancia numero de pessoas:");
            Console.WriteLine("    L: {0}, U: {1}, P: {2}", icPessoasVariancia.L, icPessoasVariancia.U, icPessoasVariancia.Precisao);
            Console.WriteLine("Cov: {0}", covPessoas);
        }