[Python] Método de Newton-Raphson junto com Horner [fechada]

Discussão em 'Python' iniciado por Stack, Novembro 9, 2024.

  1. Stack

    Stack Membro Participativo

    Estou tendo problemas para implementar o método de Horner para diminuir o custo computacional dos cálculos de polinômios e, feito isso, usar o método de Newton para achar a raiz do polinômio

    No código, b armazenaria o valor do polinômio e c o valor da derivada

    n=len(a)-1
    print("k\ta\tx\tpx")
    for k in range (1, iterMax):
    b=a[n]
    c=0
    for i in range (n-1,1):
    c=b-(x*c)
    b=(x*b)+a
    b=x*b+a[0]
    if (b<epsilon and b>-epsilon):
    print ("raiz encontrada: ")
    print (x)
    return (0, x)
    x=x-(b/c)
    print("erro. Maximo de interações atingido")
    return (1, x)


    Ao aplicar o método de Newton (x=x-(b/c)), acusa erro dizendo que estou dividindo por zero, mas não entendo porque.

    Chamada da função:

    a = [3, -9, 0, 1]
    x0 = 0.5
    epsilon = 0.0001
    maxIter = 20
    (houveErro, raiz) = newton_poli(a, x0, epsilon, maxIter)


    Obs: pelo que eu entendi, a lista a armazena os coeficientes de trás pra frente, ou seja, 3 é o termo independente e 1 é o termo que multiplica x³

    Continue reading...

Compartilhe esta Página