如图,Matlab复合函数求导

如题所述

第1个回答  推荐于2016-10-24
syms t
th1 = sin(t);
th2 = cos(t);
x=th1+th2;
T= diff(x)^2+diff(th1)^2+diff(th2)^2 +th1*th2;

T=simplify( T) % 2 - sin(2*t)/2 = 2-th1*th2
pTth1=th2;

pTDth1=2*diff(th1);
dtpTDth1=2*diff(th1,2);追问

实际中T的表达式很复杂,不能手工解。能不能用Matlab直接解出来

追答

clear
syms t dth1 dth2 dx th1 th2 x

T1= (dx)^2+dth1^2+dth2^2 +th1*th2;

pTth1=diff(T1,th1)
pTDth1=diff(T1,dth1)

th1 = sin(t);
th2 = cos(t);
x=th1+th2;
dx = diff(x)

dth1 =diff(th1)
dth2 =diff(th2)
T = simplify( subs(T1) ) % 2 - sin(2*t)/2=2-th1*th2

pTth1=subs(pTth1)
pTDth1 = subs(pTDth1)
dtpTDth1 = diff(pTDth1)

本回答被提问者和网友采纳