You are on page 1of 13

9/8/22, 22:32 TALLER 1 PUNTO 5

In [2]: "PUNTO 5 TALLER 1"

import math

import numpy as np

import matplotlib.pyplot as plt

def pol(x):

return np.log(x)**2 - x - 1

def trig(x):

return x*np.cos(x-1) - np.sin(x)

def bisec(f, a, b, tol, n):

i=1

while i <= n:

p = a + (b - a)/2

print("i = {0:<2}, p = {1:.12f}".format(i, p))

if abs(f(p)) <= 1e-15 or (b - a)/2 < tol:

return p

i += 1

if f(a)*f(p) > 0:

a = p

else:

b = p

xn = np.arange(15,15,0.0001)

plt.plot(xn,f(xn),c='b')

plt.plot(p,f(p),'or')

plt.axhline(0, color="black")

plt.axvline(0, color="black")

plt.xlabel('x')

plt.ylabel('y')

plt.title('Bisección en f(x)')

plt.axis([p-2.5,p+2.5,f(p)-2.5,f(p)+2.5])

plt.grid()

plt.show()

print("Iteraciones agotadas: Error!")

return None

bisec(pol, 0.6, 0.8, 1e-3, 100)

print("Bisección función pol(x):")

bisec(trig,4,6, 1e-8, 100)

print("Bisección función trig(x):")

i = 1 , p = 0.700000000000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 1/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 2 , p = 0.750000000000

i = 3 , p = 0.775000000000

i = 4 , p = 0.787500000000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 2/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 5 , p = 0.793750000000

i = 6 , p = 0.796875000000

i = 7 , p = 0.798437500000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 3/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 8 , p = 0.799218750000

Bisección función pol(x):

i = 1 , p = 5.000000000000

i = 2 , p = 5.500000000000

i = 3 , p = 5.750000000000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 4/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 4 , p = 5.625000000000

i = 5 , p = 5.562500000000

i = 6 , p = 5.593750000000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 5/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 7 , p = 5.609375000000

i = 8 , p = 5.601562500000

i = 9 , p = 5.597656250000

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 6/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 10, p = 5.599609375000

i = 11, p = 5.598632812500

i = 12, p = 5.599121093750

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 7/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 13, p = 5.599365234375

i = 14, p = 5.599243164062

i = 15, p = 5.599304199219

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 8/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 16, p = 5.599334716797

i = 17, p = 5.599319458008

i = 18, p = 5.599311828613

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 9/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 19, p = 5.599315643311

i = 20, p = 5.599313735962

i = 21, p = 5.599312782288

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 10/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 22, p = 5.599313259125

i = 23, p = 5.599313020706

i = 24, p = 5.599313139915

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 11/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 25, p = 5.599313080311

i = 26, p = 5.599313050508

i = 27, p = 5.599313035607

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 12/13


9/8/22, 22:32 TALLER 1 PUNTO 5

i = 28, p = 5.599313028157

Bisección función trig(x):

In [ ]:

In [ ]:

localhost:8888/lab/tree/TALLER 1 PUNTO 5.ipynb 13/13

You might also like