Differentiating a Symbolic Function

53 次查看(过去 30 天)
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"?

采纳的回答

Star Strider
Star Strider 2021-4-9
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 个评论

请先登录,再进行评论。

更多回答(1 个)

Chendi Lin
Chendi Lin 2021-4-9
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

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by