Google+ Seguidores

miércoles, 13 de diciembre de 2017

Cálculo de Derivadas, Integrales y Limites - Computación Simbólica con Python y Sympy

Introducción:

Hace algunos días escribí un articulo sobre la Computación Simbólica con Python y SymPy, en donde explique cual es la función de la Computación Simbólica y les di una pequeña introducción al software SymPy escrito en Python. Puedes ver el articulo ingresando al siguiente enlace: Computación Simbolica con Python y SymPy.

En le día de hoy, les daré un breve explicación de los métodos que nos proporciona SymPy para el cálculo de derivadas, integrales y limites.


Imagen relacionada

Para ello necesitamos disponer del modulo Sympy (https://pypi.python.org/pypi/sympy). En mi caso trabajare en el entorno de Jupyter Notebbok, ideal al trabajar con: visualización de datos, machine learning, modelos de estadística, análisis de datos, y mucho más, si quieres adquirir Jupyter Notebook, ingresa al siguiente enlace, http://jupyter.org/.

No pretendo que el articulo sea extenso, simplemente sera una breve explicación de los métodos que podemos usar para  el cálculo. Los otros métodos y módulos de SymPy serán discutidos en artículos posteriores.

Antes de comenzar a calcular, debemos declarar los símbolos que usaremos (esto lo explique en el articulo Computación Simbolica con Python y SymPy).

#importamos a sympy como sp
import sympy

#Declaramos los símbolos que usaremos
x, y = sympy.symbols('x y')

#Utilizamos el método init_printing
sympy.init_printing(use_unicode=True)


Cálculo de Derivadas:

Para poder calcular derivadas con SymPy, debemos usar el método diff(), veamos unos ejemplos:

#Derivadas
sympy.diff(sympy.cos(x), x)
sin(x)

#Derivada de una potencia
sympy.diff(5/x**5, x)



sympy.diff((5/x**5) + (3/x**2), x)



sympy.diff((x**2+3*x-2)**4, x)



sympy.diff(sympy.sqrt(x**2 - 2*x + 3))



#Derivada de una función logarítmica
sympy.diff(sympy.log(2*x**4 - x**3 + 3*x**2 - 3*x))




Bueno, podría seguir dándoles ejemplos, pero creo que esos son suficientes. Como pueden observar, el método diff() tomo como argumento: la expresión matemática y la variable que usaremos, que en este caso solo use a x.

Cálculo de Integrales:

Es momento de calcular integrales!!!

Para calcular integrales con SymPy debemos usar el método integrate() 

#Integrales
sympy.integrate(sympy.exp(-x), (x, 0, sympy.oo))
Out[8]: 
1

sympy.integrate(1/x**2)
Out[9]: 
1x






sympy.integrate(3*x**2)
x3
        Out[10]:     x3


sympy.integrate(x**2*sympy.log(5*x))

x33log(5x)x39

Como pueden observar, el método integrate() toma como argumento: La expresión matemática para calcular una integral indefinida.

Al momento de calcular una integral definida debemos pasarle a parte de la expresión matemática, (variable_integración, limite_inferior, limite_superior), como se muestra en el primer ejemplo. En el primer ejemplo como pueden ver, se hace uso de exp() el cual es la función exponencial, también vemos "sympy.oo", esto es equivalente al símbolo de infinito.


Cálculo de Limites:

Muy bien, pasemos a la ronda final.

Para calcular limites, SymPy nos proporciona el método lim(), veamos algunos ejemplos:


#Limites
sympy.limit((2-sympy.sqrt(x-2))/(x**2-36), x, 6)

Out[11]:
148


sympy.limit(2*x**4-x**2-8*x, x, sympy.oo)

Out[12]:


sympy.limit((x**2-4)/(x-2), x, 2)

Out[13]:
4

sympy.limit((sympy.sin(x))/(x), x, 0)

Out[14]:
1

sympy.limit((5*x**2-8*x-13)/(x**2-5), x, 3)

Out[15]:
2


Muy facil con SymPy ¿Verdad?.

La sintaxis para usar el método es la siguiente:

limxx0f(x)


sympy.limit(f(x), x, x0)

El primer argumento es la función, el segundo es el símbolo x, y el tercero es hacia donde tiende acercarse x. 

Si se dieron cuenta, en el segundo ejemplo, que x tiende al infinito, esto lo hice con el atributo oo de SymPy que equivale a  ∞.

Bueno, me gustaría seguir explicando y dando más ejemplos, pero es bueno que ustedes mismos investiguen y experimenten. Te recomiendo que veas la documentación de SymPy y sigas aprendiendo: http://docs.sympy.org/latest/index.html.

Comparte tu experiencia con nosotros dejando un comentario, comparte con tus amigos y danos tu opinión sobre el blog, de esta manera vamos mejorando día a día.

Mi nombre es Luis, y fue un placer compartir mis conocimientos con todos ustedes :D.

3 comentarios :
Write comentarios
  1. Buena explicación, como siempre. Solo un detalle, en la segunda linea importas "sympy como sp" (import sympy as sp), pero durante todo el ejemplo lo usas como sympy y en el primer ejemplo de derivadas (
    sympy.diff(cos(x), x)) usas las función cos() sin el paquete, debería ser np.cos(x). Gracias por compartir tus conocimientos, siempre feliz de aprender más sobre Python. Saludos :D

    ResponderEliminar
  2. Muchas gracias por avisarme Orlando, ya lo e solucionado. Saludos :D.

    ResponderEliminar
  3. Gracias a ti. Derivar e Integrar nunca había sido tan fácil xD.

    ResponderEliminar

Tu comentario es importante y nos motiva a seguir escribiendo...

Powered by Blogger .