Está en la página 1de 5

Nombre: Sebastian Pulgarin Restrepo

Métodos Númericos 6-8 ( M-J)

Punto 1 Parcial 2

Profe como te comenté le di comprobar con una respuesta errónea porque pensé que así no me
dejaría pasar a la siguiente, entonces te envió la respuesta correcta

Programación:

import numpy as np

import matplotlib.pyplot as plt

def f(x):

return ( x + np.sqrt(x) ) * ( 20 - x + np.sqrt(20-x) )-105.55

dom = np.linspace(0,20,100) # x > 0 por la raiz

y = f(dom)

yy = dom * 0

plt.plot(dom,y,dom,yy)

Confidential C
# carguemos los datos iniciales

a=0

b=5

P0 = (a+b)/2 # El punto inicial.

TOLERANCIA = 1e-20 # Criterio de parada. O sea que cuando se alcance esta precision el programa
para.

sucesion_PNs =[P0] # Lista para fuardar la sucesion de los PNs

N=0

raiz = P0

#print ("%11.0f %11.8f %11.8f" % (N, raiz, f(raiz)))

while abs(f(raiz)) > TOLERANCIA:

P1 = (a + b)/2

N=N+1

sucesion_PNs.append(P1) # se guarda el nuevo PN en la lista de los PNs

raiz = P1 # se evalua si la funcion evaluada en el punto PN es menor que 1e-6

if f(a)*f(P1)<0:

a=a

b = P1

else:

a = P1

b=b

print ("%11.0f %11.8f %11.8f" % (N, raiz, f(raiz)))

Confidential C
if N==14:

break

1 2.50000000 -17.05744186

2 3.75000000 9.77847046

3 3.12500000 -2.88546645

4 3.43750000 3.62633735

5 3.28125000 0.41631852

6 3.20312500 -1.22297581

7 3.24218750 -0.40044561

8 3.26171875 0.00865520

9 3.25195312 -0.19571527

10 3.25683594 -0.09348508

11 3.25927734 -0.04240371

12 3.26049805 -0.01687144

13 3.26110840 -0.00410742

14 3.26141357 0.00227407

round(raiz,4)
3.2614

round(20 - raiz,4)
16.7386
PUNTO 4 PARCIAL 2

Profe este se lo envío desglosado ya que tengo dudas de la respuesta, porque por payton arroja un
resultado y si lo realizo en Excel arroja otro, entonces te adjunto toda la programación, y tabla donde
resolví el Excel

Programación:

raiz = P0

print ("%11.0f %11.8f %11.8f" % (N, raiz, f(raiz)))

Confidential C
while abs(f(raiz)) > TOLERANCIA:

P1 = (a + b)/2

N=N+1

Sucecion_PNs.append(P1) # se guarda el nuevo PN en la lista de los PNs

raiz = P1 # se evalua si la funcion evaluada en el punto PN es menor que 1e-6

if f(a)*f(P1)<0:

a=a

b = P1

else:

a = P1

b=b

print ("%11.0f %11.8f %11.8f" % (N, raiz, f(raiz)))

if N==4:

break

Respuestas :

0 0.50000000 -0.17047578

1 0.50000000 -0.17047578

2 0.75000000 0.13433653

3 0.62500000 -0.02039370

4 0.68750000 0.05632125

Resultado Excel

n an bn Pn f(Pn)
-
0,1704757
0 0 1 0,5 8
0,1343365
1 0,5 1 0,75 3
2 0,5 0,75 0,625 -0,0203937
3 0,625 0,625 0,625 -0,0203937

Confidential C
4 0,625 0,625 0,625 -0,0203937

Confidential C

También podría gustarte