O método da secante é utilizado para a Resolução de equações não lineares. Esse método segue a mesma ideia do Método de Newton-Raphson, porém ao invés de usar a Derivada da função cuja raiz é buscada, usa-se uma aproximação para ela.

Com a definição de derivada, é possível aproximar e gerar a seguinte sequência:

import numpy as np
 
 
def f(x):
    return np.sin(7 * x) - 0.2 * x
 
 
p0 = 0.4
p1 = 0.5
 
list = [p0, p1]
 
i = 1
 
while list[i] != list[i - 1]:
    pn = list[i]
    pn1 = list[i - 1]
 
    pnext = pn - ((f(pn) * (pn - pn1)) / (f(pn) - f(pn1)))
 
    list.append(pnext)
    print("Iteração %d: %.6f" % (i, pnext))
    i = i + 1