def obter_integral(a, b, funcao, erro = 10 ** -16): max = parametros_gaussianos.obter_m_maximo() m = 2; int = 0.0 inta = gauss.obter_integral(a, b, funcao, m) while(m < max): m += 1 int = gauss.obter_integral(a, b, funcao, m) erro_tmp = calcular_erro(int, inta) if(erro_tmp <= erro): return int inta = int return int
import funcoes from integracao.gaussianos import gauss from integracao.gaussianos import gauss_tentativas from integracao.gaussianos import gauss_composto from integracao.gaussianos import gauss_tchebyshev from integracao.gaussianos import gauss_improprias import math print 'Testando integrador usando metodo de gauss com a funcao raiz de lnx no intervalo 1-2' print 'Com m = 2' res = gauss.obter_integral(1.0, 2.0, funcoes.raiz_lnx, 2) print 'Integral: ', res; print '' print 'Com m = 3' res = gauss.obter_integral(1.0, 2.0, funcoes.raiz_lnx, 3) print 'Integral: ', res; print '' print 'Com m = 4' res = gauss.obter_integral(1.0, 2.0, funcoes.raiz_lnx, 4) print 'Integral: ', res; print '' print 'Testando integrador usando metodo de gauss com a funcao lnx no intervalo 0-1' print 'Com m = 2' res = gauss.obter_integral(0.0, 1.0, funcoes.lnx, 2) print 'Integral: ', res; print '' print 'Com m = 3' res = gauss.obter_integral(0.0, 1.0, funcoes.lnx, 3) print 'Integral: ', res; print ''