Derivadas sucesivas
3.3. Derivadas sucesivas#
Vamos a suponer que tenemos una función
Definition
Dado un punto
Si este límite existe y es finito, se dice que
Definition
Si
Así podríamos definir la derivada cuarta, etc. En general, una vez que se tiene
Por ejemplo, si partimos de una función sencilla,
, , , ,etc.
La orden en Sympy
para calcular la derivada n-ésima de una expresión es la siguiente:
import sympy as sp
x = sp.symbols('x', real=True)
f_exp = sp.sin(x) + x**2
display(f_exp)
display(sp.diff(f_exp,x))
display(sp.diff(f_exp,x,2))
display(sp.diff(f_exp,x,3))
# Nota: también se puede usar la siguiente escritura:
# display(f_exp.diff(x,3))
Definition (Clase de una función)
Sea
es de clase en , , si existen las primeras derivadas de , , , , , y además es una función continua, es de clase en , , si es continua, es de clase en (a,b), , si , es de clase en , ,si existe tal que .
Veamos un ejercicio/ejemplo completo para practicar:
Example
Sea la función
Respuesta: En primer lugar, separamos el valor absoluto según lo de dentro sea positivo o negativo,
La representación gráfica de Sympy
se puede obtener del siguiento modo:
f_expr = 0.5*x*sp.Abs(x)
p = sp.plot(f_expr, (x, -4, 4), show=False)
p[0].line_color='r'
p.xlabel='x'
p.ylabel='y'
p.show()

Ahora vamos a comprobar si
Como los dos límites coinciden con el valor de la función en ese punto, ya sabemos que
f = sp.Lambda(x, f_expr)
display(sp.limit(f(x),x,0,dir='-'))
display(sp.limit(f(x),x,0,dir='+'))
print('f es de clase 0?', sp.limit(f(x),x,0) == f(0))
f es de clase 0? True
Vamos a calcular ahora la derivada de
Como las derivadas laterales coinciden, sabemos que
Es muy sencillo comprobar que
La representación gráfica de
p = sp.plot(f_expr.diff(x,1), (x, -4, 4), show=False)
p[0].line_color='r'
p.xlabel='x'
p.ylabel='y'
p.show()

Ahora intentamos calcular la derivada segunda de
Como las derivadas laterales no coinciden, resulta que
Con la ayuda de Sympy podríamos analizarlo del siguiente modo:
f1_expr = f_expr.diff(x,1)
f1 = sp.Lambda(x, f1_expr)
h = sp.symbols('h', real=True)
f2_0Minus = sp.limit((f1(h)-f1(0))/h,h,0,dir='-')
f2_0Plus = sp.limit((f1(h)-f1(0))/h,h,0,dir='+')
print('f2_0Minus = ', f2_0Minus, ', f2_0Plus = ', f2_0Plus)
print('Existe f\'\'(0)?',f2_0Minus==f2_0Plus)
f2_0Minus = -1.00000000000000 , f2_0Plus = 1.00000000000000
Existe f''(0)? False