MATLAB: Chain rule with symbolic toolbox

chain rulederivationsymbolic

Hello,
I'm trying to derive a symbolic function that is a function of another symbolic function. Say that I have a function x that is an unspecified function x=x(y(theta)). I'd like to take the derivative of x with respect to theta: dx/dtheta=dx/dy * dy/dtheta
In Matlab I write
syms theta y(theta);
x=sym('x(y(theta))');
diff(x,theta)
The answer I get is 0. I really cannot figure out what is wrong with the code. Any help is greatly appreciated. Thanks!

Best Answer

This:
syms theta y(theta) x(y)
x = x(y)
Dyt = diff(y,theta)
Dxt = diff(x,theta)
produces:
x =
x(y(theta))
Dyt(theta) =
D(y)(theta)
Dxt =
D(x)(y(theta))*diff(y(theta), theta)
Is that what you wanted?
Related Question