Está en la página 1de 7

NOMBRE : JESUS JAIME POCO SALVADOR

Práctica 3: Método de Bisección


Palacios Astoquillca Rudy Manuel

Método de Bisección en Python:

def Bisecca(a, b, Tol,h):


salida = ’si’
FA = h(a)
FB = h(b)
p = (b + a)/2
FP = h(p)
Sol = [p]
i=0
while(True):
if( FA * FP <0 ):
b=p
p = (a + b)/2
FB = h(b)
FP = h(p)
elif(FB * FP < 0):
a=p
p = (a + b)/2
FA = h(a)
FP = h(p)
else:
salida = ’no’
retorna= ’No se pude realizar el Método de la Biseccion’
Sol = Sol + [p]
if( abs(Sol[i+1] - Sol[i]) <= Tol ):
ultimo = i+1
break
i = i+1
if( salida == ’si’):
return Sol[i+1]

1
else:
return retorna

Ejercicio 1:
Haciendo la gráfica:

def GraficaFuncion(a, b, fun):


dominio = np.linspace(a, b, 100)
rango = fun(dominio)
ejeX = 0*dominio
plt.plot(dominio, rango, ’blue’)
plt.plot(dominio, ejeX, ’black’)
plt.show()

Def fun(x):
Return sen(pot(x,2)) + pot(x,2) - 2*x - 0.09
GraficaFuncion(-1, 3, fun)

2
Figura 1:

Bisecca(-0.5, 0.5, 0.0001, fun)


-0.04315185546875
Bisecca(-0.5, 0.5, 0.0001, fun)
-0.04315185546875
Bisecca(1.32, 1.34, 0.0001, fun)
1.335390625
Bisecca(1.36, 1.38, 0.0001, fun)
1.3742968750000002
Bisecca(2, 2.5, 0.0001, fun)
2.34283447265625

Ejercicio 2:
Hacemos la gráfica:

def GraficaFuncion(a, b, fun):


dominio = np.linspace(a, b, 100)
rango = fun(dominio)
ejeX = 0*dominio
plt.plot(dominio, rango, ’blue’)
plt.plot(dominio, ejeX, ’black’)
plt.show()

3
def fun2(x): return cos(5*x) - x
GraficaFuncion(-2*np.pi, 2*np.pi, fun2)

Figura 2:

Bisecca(-0.8, -0.6, 0.001, fun2)


-0.7679687500000001
Bisecca(-0.6, -0.2, 0.001, fun2)
-0.39609375

Ejercicio 4:
Hacemos la gráfica:

def GraficaFuncion(a, b, fun):


dominio = np.linspace(a, b, 100)
rango = fun(dominio)
ejeX = 0*dominio
plt.plot(dominio, rango, ’blue’)
plt.plot(dominio, ejeX, ’black’)
plt.show()

def fun4(x):
return exp(x) - 2*x + pot(x,3) - x

4
GraficaFuncion(-3, 2, fun4)

Figura 3:

Bisecca(-2, -1, 0.001, fun4)


-1.7607421875

Ejercicio 8:
Hacemos la gráfica:

def GraficaFuncion(a, b, fun):


dominio = np.linspace(a, b, 100)
rango = fun(dominio)
ejeX = 0*dominio
plt.plot(dominio, rango, ’blue’)
plt.plot(dominio, ejeX, ’black’)
plt.show()

def fun8(x):
return pot(x,2) - 3
GraficaFuncion(0, 10, fun8)

5
Figura 4:

Bisecca(1, 2, 0.0001, fun8)


1.73199462890625

Ejercicio 9:
Hacemos la gráfica:

def GraficaFuncion(a, b, fun):


dominio = np.linspace(a, b, 100)
rango = fun(dominio)
ejeX = 0*dominio
plt.plot(dominio, rango, ’blue’)
plt.plot(dominio, ejeX, ’black’)
plt.show()

def fun9(x):
return pot(x,3) - 25
GraficaFuncion(0, 10, fun9)

6
Figura 5:

Bisecca(0, 4, 0.0001, fun9)


2.924017738212866

También podría gustarte