I want to create my own differentiation function Derivada
. So, I already set some properties like:
Derivada[x_^(n_: 1), x_Symbol] /; FreeQ[n, x] := n*x^(n - 1)
Derivada[n_*x_, x_Symbol] /; FreeQ[n, x] := n
Derivada[Log[a_: E, x_], x_Symbol] := 1/(x*Log[a])
Derivada[Log[x_], x_Symbol] := 1/x
Derivada[f_, x_Symbol] /; FreeQ[f, x] := 0
Derivada[(a_?NumericQ) f_, x_Symbol] := a*Derivada[f, x]
Derivada[Exp[x_], x_Symbol] := Exp[x]
Derivada[a_^x_, x_Symbol] := a^x Log[a]
Derivada[u_Plus, x_Symbol] := Derivada[#, x] & /@ u
Derivada[u_*v_, x_Symbol] := u Derivada[v, x] + v Derivada[u, x]
Derivada[u_/v_, x_Symbol] := (Derivada[u, x]*v - u*Derivada[v, x])/v^2
I have a problem with rational functions.
The functions works for:
In[1224]:= Derivada[x/(x + 1), x]
Out[1224]= 1/(1 + x)^2
But the function doesn't works for:
In[1225]:= Derivada[1/(x + 1), x]
Out[1225]= Derivada[1/(1 + x), x]
What can be wrong?
Derivada[1 /v_, x_Symbol] := -Derivada[v, x]/v^2
? $\endgroup$x/(x+1)
is-x/(1+x)^2 + 1/(1+x)
, NOT1/(1+x)^2
as in your result! $\endgroup$