Curso de introducción a la programación con Python

Autor: Luis Fernando Apáez Álvarez

Proyecto 1 (parte III): Derivadas

Derivadas

Así como trabajamos en el final de la parte II del proyecto con la resolución de límites utilizando el módulo sympy, podemos calcular derivadas de la misma manera, lo cual conseguiremos utilizando diff(y,x). Donde x es una variable simbólica y y una variable que depende de x. Por ejemplo, podemos calcular la derivada de la función $f(x)=x^{2}$ la cual es

$$ \frac{d}{dx}f(x)=\frac{d}{dx}x^{2}=2\cdot x $$

Lo cual puede calcularse también utilizando el siguiente código

Asimismo podemos evaluar la derivada en algún punto, lo cual sabemos que representa (geométricamente) la pendiente de la recta tangente en ese punto; por ejemplo podemos calcular $f'(2)=2(2)=4$ o en código:

Derivadas de orden superior

Sabemos que al derivar una función volvemos a obtener otra función, por ello es que a la derivada podemos volver a derivarla obteniéndose así la derivada de segundo orden. Esto es, dada $f(x)$ dos veces derivable, la derivada de orden dos o segunda derivada se define como

$$ \frac{d^{2}}{dx^{2}}f(x)=\frac{d}{dx}\left(\frac{d}{dx}f(x)\right) $$

Por ejemplo, sabemos que $\frac{d}{dx}x^{2}=2x$ y por ende

$$ \frac{d^{2}}{dx^{2}}f(x)=\frac{d}{dx}\left(\frac{d}{dx}x^{2}\right)=\frac{d}{dx}2x=2 $$

En Python agregaremos como tercer parámetro a diff() para indicar el orden de la derivada que deseamos calcular. Veamos

Otro ejemplo interesante es calcular las derivadas de orden superior de la función $g(x)=\frac{1}{x}$:

De tal manera tenemos que $$ \frac{d}{dx}f(x)=-\frac{1}{x^{2}},\ \ \frac{d^{2}}{dx^{2}}f(x)=\frac{2}{x^{3}}, \ \ \frac{d^{3}}{dx^{3}}f(x)=-\frac{6}{x^{4}} $$

Podemos también aplicar la regla de la cadena, por ejemplo podemos derivar la función $h(x)=(sen(x))^{2}$:

Derivemos ahora la función $k(x)=ln(sen(x))$ cuya derivada es

$$ \frac{d}{dx}k(x)=\frac{\frac{d}{dx}sen(x)}{sen(x)}=\frac{cos(x)}{sen(x)} $$

o en código

además podemos simplificar expresiones algebraicas, para ello utilizamos simplify(). Por ejemplo

Graficar rectas tangentes

Como bien sabemos, en general, la derivada de $f(x)$ representa la pendiente de la recta tangente a la gráfica de $f(x)$ en el punto $x$. Es decir, si consideramos por ejemplo $f(x)=x^{2}$, y queremos conocer la pendiente de la recta tangente en el punto $x=3$ hacemos la evaluación $f'(3)=2(3)=6$. Obtengamos la ecuación de dicha recta. Sabemos que la ecuación punto-pendiente es de la forma

$$ y-y_{1}=m(x-x_{1}) $$

pero en este caso la pendiente es $f'(3)=6$ y el punto $x_{1}=3$. Para obtener el punto $y_{1}$ basta con considerar $f(x_{1})=f(3)=3^{2}=9$. De tal manera

$$ y-9=6(x-3)=6x-18 $$

de tal manera la ecuación de la recta tangente a la curva $f(x)$ en el punto $x=3$ es $y=6x+9$. Veamos graficamente:

Finalmente, graficaremos varias rectas tangentes por lo que emplearemos un método similiar a la graficación de varios puntos como lo hicimos en límites. Comencemos por dibujar los puntos de interés, esto lo conseguiremos evaluando los puntos de tangencia de nuestro interés en la función $f(x)$. Por ejemplo, si el punto $x=2$ es un punto de interés, obtendremos la coordenada cmpleta evaluando $f(2)=2^{2}$, lo cual se consigue en usando .subs(x,2). Veamos

Después graficaremos las rectas tangentes. Para ello necesitamos

  1. Obtener la coordenada $(x_{1},y_{1})$, donde $x_{1}$ es un elemento de la lista puntos_tangencia y la ordenada $y_{1}$ se obtiene empleando y.subs(x,x1).
  2. Obtener la pendiente de la recta tangente en ese punto, lo cual se consigue usando derivada.subs(x,x1).
  3. La ecuación de la recta tangente es de la forma $$ y=m(x-x_{1})+y_{1}=mx-mx_{1}+y_{1} $$

Con base en todo lo anterior tenemos que

Finalmente conjuntamos todo para obtener

Socialmedia.PNG