Example #1
0
def obter_integral(a, b, funcao, nit = 10, n = 4, erro = 10 ** -16):
  integrais = simpson.obter_integral(a, b, funcao, nit, n)
  n = len(integrais) - 1
  for i in range(n):
    erro_int = composicao_generica.calcular_erro(integrais[i], integrais[i + 1])
    if erro_int < erro:
      return integrais[i]
    
  return integrais[n/2]
import funcoes
from integracao.newtonianos import trapezio
from integracao.newtonianos import simpson
from integracao.newtonianos import simpson_composto
from integracao.newtonianos import trapezio_melhorado

print 'Testando integrador usando metodo de newton com a funcao lnx no intervalo 1-2'
res = trapezio.obter_integral(1.0, 2.0, funcoes.lnx)
i = 1
for r in res:
  print 'Integral', i, ': ', r
  i += 1


print 'Testando integrador usando metodo de simpson com a funcao lnx no intervalo 1-2'
res = simpson.obter_integral(1.0, 2.0, funcoes.lnx)
i = 1
for r in res:
  print 'Integral', i, ': ', r
  i += 1



print 'Testando integrador usando metodo de newton com a funcao 1/ xlnx no intervalo 2-4'
res = trapezio.obter_integral(2.0, 4.0, funcoes.inverso_x_lnx)
i = 1
for r in res:
  print 'Integral', i, ': ', r
  i += 1