In [2]:
import numpy as np
import matplotlib.pyplot as plt
In [3]:
#Método gráfico para encontrar la raiz de una función

def f(x):
  return np.exp(-x)-x
def g(x):
  return 1/x
def h(x):
  return x*np.cos(x)

a,b,nps=-1,3,100
vx=np.linspace(a,b,nps)
vy=f(vx)
plt.grid()
plt.plot(vx,vy);
In [5]:
#Busqueda de un intervalo por incremento, que contenga al menos una solución de la función f(x).
import numpy as np

def f(x):
  return np.exp(-x)-x

vv=0.567143 #valor con el cualf f(xo)=0
a=-1
dx=0.0005
i=1

while (f(a+i*dx)*f(a+(i+1)*dx)>0):
  i+=1

print("El siguiente intervalo contiene al menos una raiz de f(x):", end=" ")
print(f"{a+i*dx:2.7f} {a+(i+1)*dx:2.7f}")
print("Se buscaron" ,i, "intervalos")

li,ls,nps=a+i*dx,a+(i+1)*dx,100
vx=np.linspace(li,ls,nps)
vy=f(vx)
plt.grid()
plt.hlines(y=0,xmin=li,xmax=ls,color="r")
plt.plot(vx,vy);
El siguiente intervalo contiene al menos una raiz de f(x): 0.5670000 0.5675000
Se buscaron 3134 intervalos
In [ ]: