/* 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); }
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); }