MrGatovsky

Bairstow_graph

Feb 26th, 2022
822
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.67 KB | None | 0 0
  1. import matplotlib as mpl
  2. import numpy as np
  3. import sympy as sp
  4. import matplotlib.pyplot as plt
  5.  
  6. x = sp.symbols('x')
  7. # -1 + 5.5 * x - 4 * x**2 + 0.5 * x**3
  8.  
  9. def grafica(im):
  10.     mpl.rcParams['figure.dpi'] = 150  # puntos por pulgada
  11.     ## mpl.rcParams['text.usetex'] = True  # permite usar Tex en nuestra grafica
  12.     mpl.rcParams['savefig.dpi'] = 200  # puntos por pulgada con lo que se guarda la grafica
  13.  
  14.     x = np.linspace(-2, 3, 60)  # intervalo que será graficado
  15.  
  16. #   a considerar: para evitar 'ImmutableDenseNDimArray' object has no attribute '_eval_evalf'
  17. #   el usuario deberá evitar mezclar funciones de la librería estándar de python, ejm. math.cos(x), math.exp(x), etc.
  18. #   y usar las de Numpy np.cos(x), np.exp(x), o bien sympy.sympify(f)
  19.     plt.plot(x, x**5 - 3.5 * x**4 + 2.75 * x**3 + 2.125 * x**2 - 3.875 * x + 1.25, color='orangered')
  20.     plt.scatter(im[0], 0, color='black')
  21.     plt.scatter(im[1], 0, color='black')
  22.     plt.scatter(im[2], 0, color='black')
  23.     plt.scatter(im[3], 0, color='black')
  24.     plt.axvline(x = 0 , color='dodgerblue', linewidth=2.5, linestyle="--")
  25.     plt.axhline(y = 0 , color='dodgerblue', linewidth=2.5, linestyle="--")
  26.     plt.xlabel('x', fontdict={'fontsize': 10, 'fontweight': 'bold', 'color': 'tab:blue'})
  27.     plt.ylabel('y', fontdict={'fontsize': 10, 'fontweight': 'bold', 'color': 'tab:blue'})
  28.  
  29.     plt.title('$f(x)= x⁵ - 3.5x⁴ + 2.75x³ - 2.15x² - 3.875x - 1.25$',
  30.               fontdict={'fontsize': 14, 'fontweight': 'bold', 'color': 'tab:green'})
  31.     plt.legend(["x"])
  32.  
  33.     plt.grid(True)
  34.     plt.axis([-2, 3, -4, 4])  # intervalos de los ejes de la grafica
  35.     plt.savefig("Ejemplo8.png")
  36.     plt.show()
Advertisement
Add Comment
Please, Sign In to add comment