Differentiating a Symbolic Function

38 visualizaciones (últimos 30 días)
Ammar Taha
Ammar Taha el 9 de Abr. de 2021
Comentada: Star Strider el 9 de Abr. de 2021
If I have the following symbolic function:
syms f(x,y)
f(x,y) = 2*x^2 + y;
When I try to diff. this function w.r.t. (x) I get:
d = diff(f,x)
d(x, y) =
4*x
Which is a function in both x, and y NOT in (x) only.
How can I perform this and get the real exsisting function input only "i.e. (x) only here"?

Respuesta aceptada

Star Strider
Star Strider el 9 de Abr. de 2021
That is the corrct result, since diff is taking the partial derivative with respect to ‘x’ only, and ‘y’ is considered a constant.
To get the derivatives of ‘f’ with respect to both variables, use the jacobian function:
jf = jacobian(f)
producing:
jf(x, y) =
[4*x, 1]
See Differentiation for more information.
Although not appropriate here, explore the functionalDerivative function.
  4 comentarios
Ammar Taha
Ammar Taha el 9 de Abr. de 2021
Ok, thats great. Thnaks a lot.
Star Strider
Star Strider el 9 de Abr. de 2021
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (1)

Chendi Lin
Chendi Lin el 9 de Abr. de 2021
Hi Ammar,
Without explicitly defining the differentiation variable, "diff" uses the default variable, which is "x" in your case.
To get both derivatives, you can do
[diff(f(x,y),x) diff(f(x,y),y)]
And this should give you the correct result.
Thanks.
CD

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by