Symbolically differentiation a function w.r.t a function

6 views (last 30 days)
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;

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.

Products

Community Treasure Hunt

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

Start Hunting!