¿Cómo calcular y trazar la derivada de una función usando Python – Matplotlib?

En este artículo, trazaremos la derivada de una función usando matplotlib y python. Para esto estamos usando unos módulos en python los cuales son los siguientes:

  • Matplotlib: Matplotlib es uno de los paquetes de Python más populares utilizados para la visualización de datos. Es una biblioteca multiplataforma para hacer gráficos 2D a partir de datos en arrays.
  • NumPy: Es una biblioteca de python que se usa para trabajar con arreglos, también admite grandes arreglos y arrays multidimensionales, también tiene varias funciones matemáticas.
  • SciPy: Python tiene una biblioteca llamada SciPy que se usa para cálculos matemáticos, científicos y de ingeniería. Esta biblioteca depende de NumPy y proporciona varias operaciones numéricas.

Para graficar la derivada de una función primero, tenemos que calcularla. La biblioteca scipy.misc tiene una función derivada() que acepta un argumento como función y el otro es la variable wrt con la que diferenciaremos la función. Así que crearemos un método llamado function() que devolverá la función original y un segundo método llamado deriv() que devolverá la derivada de esa función.

Después de este cálculo de la derivada de la función de entrada, usaremos la función NumPy linspace() que establece el rango del eje x. La función plot() se utilizará para trazar la función y también la derivada de esa función.

Acercarse:

  • Importe los módulos requeridos.
  • Definir métodos para la función y su derivada.
  • Use la función NumPy linspace para hacer el espaciado del eje x.
  • Graficar la función y su derivada
  • Cambie los límites del eje usando la función gca()
  • Graficar el texto usando la función text()

Ejemplo 1: (Derivada de cúbico) 

En este ejemplo, daremos la función f(x)=2x 3 +x+3 como entrada, luego calcularemos la derivada y trazaremos tanto la función como su derivada.

Python3

# importing the library
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np
  
# defining the function
def function(x):
    return 2*x*x*x+x+3
  
# calculating its derivative
def deriv(x):
    return derivative(function, x)
  
# defininf x-axis intervals
y = np.linspace(-6, 6)
  
# plotting the function
plt.plot(y, function(y), color='purple', label='Function')
  
# plotting its derivative
plt.plot(y, deriv(y), color='green', label='Derivative')
  
# formatting
plt.legend(loc='upper left')
plt.grid(True)

Producción:

Ejemplo 2: (Derivada del polinomio de poligrado) 

En este ejemplo, daremos la función f(x)=x 4 +x 2 +5 como entrada, luego calcularemos la derivada y trazaremos tanto la función como su derivada.

Python3

# importing the library
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np
  
# defining the function
def function(x):
    return x*x*x*x+x*x+5
  
# calculating its derivative
def deriv(x):
    return derivative(function, x)
  
  
# defininf x-axis intervals
y = np.linspace(-15, 15)
  
# plotting the function
plt.plot(y, function(y), color='red', label='Function')
  
# plotting its derivative
plt.plot(y, deriv(y), color='green', label='Derivative')
  
# formatting
plt.legend(loc='upper left')
plt.grid(True)

Producción:

Ejemplo 3: (Derivada de cuadrática con formato por texto) 

En este ejemplo, trazaremos la derivada de f(x)=4x 2 +x+1. Además, usaremos algún formato usando la función gca() que cambiará los límites del eje para que ambos ejes x, y se crucen en el origen. La función text() que se encuentra en la biblioteca matplotlib traza el texto en el gráfico y toma un argumento como coordenadas (x, y). También haremos algo de formateo.

Python3

# importing modules
import matplotlib.pyplot as plt
from scipy.misc import derivative
import numpy as np
  
# method to return function
def function(x):
    return 4*x**2+x+1
  
# method to return its derivative
def deriv(x):
    return derivative(function, x)
  
#range in x-axis
y = np.linspace(-6, 6)
  
# plotting function
plt.plot(y, function(y), color='brown', label='Function')
  
# plotting its derivative
plt.plot(y, deriv(y), color='blue', label='Derivative')
  
# changing limits of y-axis
plt.gca().spines['left'].set_position('zero',)
  
# changing limits of x-axis
plt.gca().spines['bottom'].set_position('zero',)
plt.legend(loc='upper left')
  
# plotting text in the graph
plt.text(5.0, 1.0, r"$f'(x)=8x+1$", horizontalalignment='center',
         fontsize=18, color='blue')
  
plt.text(-4.4, 25.0, r'$f(x)=4x^2+x+1$', horizontalalignment='center',
         fontsize=18, color='brown')
plt.grid(True)

Producción:

Publicación traducida automáticamente

Artículo escrito por adityaprasad1308 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *