Partial Derivative of Function with respect to another Function
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Howdy,
syms t q1(t) q2(t);
% define q1 and q2
q1 = q1(t)
q2 = q2(t)
% define a new function
q1_dot = diff(q1)
f = 5*(q1_dot)^2 + q2
diff_f_q1Dot = diff(f) ./ diff(q1_dot)
If I have the following lines of code, I would expect my output to be: 10*q1_dot, but instead I get:

Any Ideas as to what I am doing wrong? Maybe this is not the correct chain rule approach.
0 Kommentare
Antworten (1)
Walter Roberson
am 9 Sep. 2019
expand(diff_f_q1Dot) to get
diff(q2(t), t)/diff(q1(t), t, t) + 10*diff(q1(t), t)
It is invalid to claim that the derivative of an unknown function with respect to a different unknown function will always be 0. For the derivative to be 0, the functions would have to be independent, but we cannot know that for unknown functions.
2 Kommentare
Walter Roberson
am 9 Sep. 2019
You could use children().
There are also some new facilities for extracting parts of an expression as of r2019a that I have a hard time remembering the names of.
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!