MATLAB Answers

Symbolically differentiation a function w.r.t a function

6 views (last 30 days)
Udbhav
Udbhav on 19 Jan 2020
Commented: Udbhav on 20 Jan 2020
How to differentiate with respect to ; where, with the help of symbolic math tool. I tried writing
syms f(x) g(x) h(x) x
g(x) = sqrt(f(x)^2 + x);
h(x) = diff(g(x),f(x));
but the following error pops up,
%Error using sym/diff (line 70)
%Second argument must be a variable or a nonnegative integer specifying the number of differentiations.
I am new to MATLAB and trying to understand the reason for this error and any suggestions on how can I write;

  0 Comments

Sign in to comment.

Accepted Answer

darova
darova on 19 Jan 2020
Try this
syms g(x) h(x) x f
g(x,f) = sqrt(f^2 + x);
h(x,f) = diff(g(x,f),f)

  2 Comments

Udbhav
Udbhav on 19 Jan 2020
Thanks darova for you help. It worked great. Matlab sure requires a little extra effort than Mathematica for symbolic computation :-p

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 19 Jan 2020
You cannot differentiate a function with respect to a different unknown function with normal calculus, because you cannot know that the functions are independent. You need Calculus of Variations to create operators for differentiating functions.
In the past I have posted examples demonstrating that the process suggested by Darova can generate the wrong answer.

  2 Comments

Udbhav
Udbhav on 20 Jan 2020
Walter, thanks for your answer. I actually needed what darova suggested. But yeah I agree with you completely. I will see your previous posts then for more clarification.
Udbhav
Udbhav on 20 Jan 2020
thanks Walter for your valuable answer. I actually needed what darova suggested at that instant. I will go through your previous posts for further clarification.

Sign in to comment.

Sign in to answer this question.


Translated by