Partial Derivative of Function with respect to another Function

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:
matlabPartialDerive.PNG
Any Ideas as to what I am doing wrong? Maybe this is not the correct chain rule approach.

답변 (1개)

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

Hi Walter,
I understand that, as these functions are symbolic. So is there no way to get 10*q1_dot on its own?
Thank you very much!
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.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Numerical Integration and Differential Equations에 대해 자세히 알아보기

질문:

2019년 9월 9일

댓글:

2019년 9월 9일

Community Treasure Hunt

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

Start Hunting!

Translated by