Você está na página 1de 2

import sympy as sy

import numpy as np #biblioteca numerica


import matplotlib.pyplot as plt #biblioteca para graficas matematicas
import math #biblioteca de matematica

lista=[]

x = sy.symbols('x')
funcion=sy.exp(-x)-x

def secanteDtos():
x1=float(input("Ingrese El primer Valor: "))
x2=float(input("Ingrese El primer Valor: "))
tol=float(input("Ingrese la tolerancia de error: "))

fx1=funcion.evalf(subs={x: x1})
fx2=funcion.evalf(subs={x: x2})

j=x2-(fx2*(x1-x2)/(x2-fx2))

ea=((x2-x1)/x2)*100

calculos(1,x1,x2,fx1,fx2,j,tol,ea)

def calculos(i,x1,x2,fx1,fx2,j,tol,error):

if i == 1:
listas(i,x1,x2,fx1,fx2,j,abs(error))
elif i>=2:
listas(i,x1,x2,fx1,fx2,j,abs(error))

if(abs(error)>=tol):
x1=x2
fx1=fx2
x2=j
fx2=funcion.evalf(subs={x: x2})
j=x2-(fx2*(x1-x2)/(fx1-fx2))
error=((x2-x1)/x2)*100
print(x1,fx1,x2,fx2,j,abs(error))
i+=1
calculos(i,x1,x2,fx1,fx2,j,tol,error)

else:
print("FIN")

def listas(i,x1,x2,fx1,fx2,j,error):
listaDatos=[]
#grafica_fxr=[]
#grafica_r=[]
listaDatos.append(i)
listaDatos.append("{0:.3f}".format(x1))
listaDatos.append("{0:.3f}".format(x2))
listaDatos.append("{0:.3f}".format(fx1))
listaDatos.append("{0:.3f}".format(fx2))
listaDatos.append("{0:.3f}".format(j))
listaDatos.append("{0:.3f}".format(error))
lista.append(listaDatos)
#grafica_r.append(xr)
#grafica_fxr.append(fxr)
#listaxr.append(grafica_r)
#lista_fxr.append(grafica_fxr)

secanteDtos()

Tabla = """\
+--------------------------------------------------------------------------+
| TABLA BISECCION |
+--------------------------------------------------------------------------+
| No.Iteracion x1 x2 fx1 fx2 j error%|
|--------------------------------------------------------------------------|
{}
+--------------------------------------------------------------------------+\
"""
Tabla = (Tabla.format('\n'.join("| {:^15} {:<2} {:>8} {:>9} {:>10} {:>8} {:>11}
|".format(*fila)
for fila in lista)))
print (Tabla)

"""dimension=(15,5)
x=np.linspace(-100,100,101)
y=((9.8*68.1)/x)*(1-np.exp((-x/68.1)*10))-40
plt.figure(figsize=dimension)

plt.subplot(1,2,1)
plt.plot(x,y, 'o-', color="orange")
plt.grid()
plt.title("GRAFICO MATEMATICO REAL", color="Purple", size=18)
plt.xlabel("Valores de x -100 a 100", color="Red", size=14)
plt.ylabel("Valores de y o fx", color="Red", size=14)

plt.subplot(1,2,2)
plt.plot(listaxr,lista_fxr, 'o-', color="green")
plt.grid()
plt.title("GRAFICO MATEMATICO REAL", color="Purple", size=18)
plt.xlabel("Valores de x -100 a 100", color="Red", size=14)
plt.ylabel("Valores de y o fx", color="Red", size=14) """

Você também pode gostar