En nuestro caso la funcion sera: $f(x) = x^b - a$
Donde a>1, b>1 y nuestro intervalo sera [0, a], pues con eso logramos que tengan distinto signo en cada extremo del intervalo
Fijese que la solucion será la raiz b-esima de a, y buscaremos la raiz dividiendo el intervalo por el punto medio de este y quedandonos con un nuevo intervalo factible, cosa que haremos hasta que el intervalo sea muy pequeño.
In [1]:
a = int(input("Ingrese a: "))
In [2]:
b = int(input("Ingrese b: "))
In [3]:
cotainf = 0
cotasup = a
fci = cotainf**b - a
iteraciones = 0
In [4]:
while (cotasup-cotainf) > 0.00000001:
iteraciones += 1
pmedio = (cotasup+cotainf)/2
fpm = pmedio**b - a
if fpm == 0:
cotasup = pmedio
cotainf = pmedio
elif fci*fpm < 0:
cotasup = pmedio
else:
cotainf = pmedio
In [5]:
print(iteraciones)
In [6]:
print(cotasup, cotainf, a**(1/b))