Solución:
Mathematica está siendo inconsistente en cómo trata la derivada para una función por partes (esto me parece un error). Podemos ver un ejemplo más simple para ver esto, que apuntará hacia una solución alternativa,
pwf1[x_] := Piecewise[{
{3 x, x != 0},
{5 x, x == 0}}];
pwf2[x_] := Piecewise[{
{3 x, x < 0},
{5 x, x == 0},
{3 x, x > 0}}];
pwf1'[0]
pwf2'[0]
(* 5 *)
(* 3 *)
Ambas son la misma función, y si tomamos la derivada manualmente, obtenemos la misma respuesta:
Limit[(pwf1[0 + h] - pwf1[0])/h, h -> 0]
Limit[(pwf2[0 + h] - pwf2[0])/h, h -> 0]
(* 3 *)
(* 3 *)
Entonces, aparentemente, es mejor definir las regiones por partes de manera más explícita,
f[x_] := Piecewise[{
{x*Sin[1/x], x > 0},
{0, x == 0},
{x*Sin[1/x], x < 0}
}]
f'[0]
(* Indeterminate *)
Esta es la misma respuesta que obtiene cuando toma la derivada analítica y la sustituye x=0
,
func[x_] := x Sin[1/x];
func'[0]
Durante la evaluación de In[149]: = Poder :: infy: Se ha encontrado una expresión infinita 1/0. >>
Durante la evaluación de In[149]: = Poder :: infy: Se ha encontrado una expresión infinita 1/0. >>
Durante la evaluación de In[149]: = Poder :: infy: Se ha encontrado una expresión infinita 1/0. >>
Durante la evaluación de In[149]: = General :: stop: Durante este cálculo se suprimirá la salida adicional de Power :: infy. >>
(* Indeterminate *)
Su función es quizás más clara sin la Piecewise
. Dejar
g[x_] = x*Sin[1/x]
Entonces D[g[x], X]
-(Cos[1/x]/x) + Sin[1/x]
Para encontrar lo que está sucediendo cuando x se acerca a la discontinuidad:
Limit[D[g[x], x], x -> 0]
Interval[{-∞, ∞}]
lo que prácticamente dice que la derivada no existe en este momento.