Substitute partial differential into symfun

조회 수: 6 (최근 30일)
ludolfusexe
ludolfusexe 2024년 5월 15일
댓글: ludolfusexe 2024년 5월 16일
Because my actual functions are very complex, I would like to calculate the derivative of nested functions first and then substitute the functions afterwards.
A minimal example looks like this:
syms G(h) h(t) t
Q = G(h)
Q = 
dGdt = diff(Q,t) % -> D(G)(h(t)) occurs
dGdt = 
% Now define G(h) and derive:
G = h^2;
dGdh = diff(G,h)
dGdh(t) = 
How is it possible, to insert the derivative of G with respect to h as the partial derivative?
I tried this, but it is not working:
% dQ_subs = subs(dGdt, D(G), dGdh)
% dQ_subs = subs(dGdt, D(G)(h(t)), dGdh)
I really appreciate any feedback!

채택된 답변

Torsten
Torsten 2024년 5월 15일
이동: Torsten 2024년 5월 15일
syms G(h) h(t) t
Q = G(h)
Q = 
dGdt = diff(Q,t) % -> D(G)(h(t)) occurs
dGdt = 
s = children(dGdt)
s = 1x2 cell array
{[D(G)(h(t))]} {[diff(h(t), t)]}
% Now define G(h) and derive:
G = h^2;
dGdh = diff(G,h)
dGdh(t) = 
subs(dGdt,s{1},dGdh)
ans = 
  댓글 수: 2
Paul
Paul 2024년 5월 15일
편집: Paul 2024년 5월 15일
Hi Torsten,
I think it works easier, and perhaps more generally, to define G as a function of its own dummy variable.
syms G(x) h(t) t
Q = G(h);
dGdt = diff(Q,t) % -> D(G)(h(t)) occurs
dGdt = 
% Now define G(x) and derive:
G(x) = x^2;
subs(dGdt)
ans = 
Slightly more complicated case
G(x) = x^2 + sin(x);
subs(dGdt)
ans = 
ludolfusexe
ludolfusexe 2024년 5월 16일
Thank you very much for your two answers, both are very helpful.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by