cliffon
(Omer Tzuk)
1
I am trying to assign a function which is a derivative of a previous on:
f[x_] := x^2;
D[f[x], x]
I would like j to be the derivative of f, so it would be also a function of x (namely, 2x)
How do I do that?
Trying to use do it with the following line gives an error
j[x_] := D[f[x], x]
j[1]
fkampas
(Frank Kampas)
2
works on my computer. maybe you previously used f or j.
dlkeith
(David Keith)
3
Hi Omer,
f[x_] := x^2;
j[x_] := D[f[x], x]
In the above, the definition of j uses SetDelayed ( := ). This means it will not evaluate the right side until the definition is used.
In[3]:= j[1]
During evaluation of In[3]:= General::ivar: 1 is not a valid variable. >>
So when we evaluate j[1], x is replaced by 1 in D[f[x],x] before the derivative is attempted, which does not work.
Below, Set rather than SetDelayed is used in the definition.
In[4]:= jj[x_] = D[f[x], x]
Out[4]= 2 x
In[5]:= jj[1]
Out[5]= 2
By using Set ( = ) rather than SetDelayed, the symbolic derivative is evaluated immediately and used as the definition.
cliffon
(Omer Tzuk)
4
Excellent! Thanks for the explanation