Lembrar que as coordenadas principais são \(\theta\) e \(\varphi\) e as secundárias são \(x_1\) e \(x_2\).
Cadeia não Imposta com 2 Graus de Liberdade
from sympy import * init_printing(use_latex='mathjax') a,x1,x2,q,j=symbols('a x_1 x_2 theta varphi') Eq=Matrix([[x1*cos(q)+x2*cos(j)-a],[x1*sin(q)-x2*sin(j)]]) J=Eq.jacobian([x1,x2]) F=Eq.jacobian([q,j]) K=simplify(-(J**-1)*F) F1=F.col(0) # Matriz coluna com as derivadas parciais na primeira coordenada principal F2=F.col(1) # Matriz coluna com as derivadas parciais na segunda coordenada principal K1=K.col(0) K2=K.col(1) vq,vj,vx1,vx2=symbols('\dot{\\theta} \dot{\\varphi} \dot{x_1} \dot{x_2}') Vq=Matrix([vq,vj]) # Matriz coluna com as velocidades principais Vs=Matrix([vx1,vx2]) # Matriz coluna com as velocidades secundárias L1=simplify(K1.jacobian([q,j])*Vq + ( K1.jacobian([x1,x2]) )*Vs)/vq L2=simplify(K2.jacobian([q,j])*Vq + ( K2.jacobian([x1,x2]) )*Vs)/vj