示例#1
0
def tabela(n):
    somatorio = lambda termo: sum(termo(float(i)) for i in xrange(n))
    mysin = lambda x: somatorio(lambda i: (x ** (2 * i + 1)) * (-1) ** i / factorial(2 * i + 1))
    mycos = lambda x: somatorio(lambda i: (x ** (2 * i)) * (-1) ** i / factorial(2 * i))
    mytan = lambda x: mysin(x) / mycos(x)
    mypi = somatorio(lambda k: 4 * (-1) ** k / (2 * k + 1))
    mye = somatorio(lambda k: 1.0 / factorial(k))
    mypie = mypi / mye

    # calcular valores
    valores = [
        ['n={0}'.format(n), 'Ve', 'Va', 'Eabs', 'Erel'],
        ['pi', pi, mypi],
        ['e', e, mye],
        ['pi/e', pie, mypie],
        ['sen(pi/e)', sin(pie), mysin(mypie)],
        ['cos(pi/e)', cos(pie), mycos(mypie)],
        ['tg(pi/e)', tan(pie), mytan(mypie)],
    ]

    # calcular erros
    for v in valores[1:]:
        ve, va = v[1], v[2]
        eabs = ve - va
        erel = eabs / ve
        v.append(eabs)
        v.append(erel)

    # imprimir tabela e uma linha em branco
    print_table(valores)
    print
示例#2
0
文件: base.py 项目: haiduk33/calcnum
 def aplicar(self, metodo, *args):
     try:
         self._tabela = []
         raiz = metodo(self, *args)
     except ErroNMI:
         print 'Ultrapassou o nmi'
     except ErroIntervalo:
         print 'Não há garantia de existencia de raiz neste intervalo'
     else:
         if self.tabelar:
             print_table(self._tabela)
         print 'Raiz: {0}'.format(self.prec(raiz))