— 1991
.
.
2021.03.28 Sunday (c) All rights reserved by ACHK
Structure and Interpretation of Classical Mechanics
.
Consider a pendulum of length attached to a support that is free to move horizontally, as shown in figure 1.4. Let the mass of the support be
and the mass of the pendulum be
. Formulate a Lagrangian and derive Lagrange’s equations for this system.
~~~
[guess]


(define ((F->C F) local)
(->local (time local)
(F local)
(+ (((partial 0) F) local)
(* (((partial 1) F) local)
(velocity local)))))
;
(define ((q->r l y1) local)
(let ((q (coordinate local)))
(let ((x1 (ref q 0))
(theta (ref q 1)))
(let ((x2 (+ x1 (* l (sin theta))))
(y2 (- y1 (* l (cos theta)))))
(up x1 y1 x2 y2)))))
(show-expression
((q->r 'l 'y_1)
(up 't
(up 'x_1 'theta)
(up 'xdot_1 'thetadot))))
;
(define (KE m vx vy)
(* 1/2 m (+ (square vx) (square vy))))
(define ((T-rect m1 m2) local)
(let ((q (coordinate local))
(v (velocity local)))
(let ((x1dot (ref v 0))
(y1dot (ref v 1))
(x2dot (ref v 2))
(y2dot (ref v 3)))
(+ (KE m1 x1dot y1dot)
(KE m2 x2dot y2dot)))))
(show-expression
((T-rect 'm_1 'm_2)
(up 't
(up 'x_1 'y_1 'x_2 'y_2)
(up 'xdot_1 'ydot_1 'xdot_2 'ydot_2))))
;
(define ((U-rect g m1 m2) local)
(let* ((q (coordinate local))
(y1 (ref q 1))
(y2 (ref q 3)))
(* g (+ (* m1 y1)
(* m2 y2)))))
(show-expression
((U-rect 'g 'm_1 'm_2)
(up 't
(up 'x_1 'y_1 'x_2 'y_2)
(up 'xdot_1 'ydot_1 'xdot_2 'ydot_2))))
;
(define (L-rect g m1 m2)
(- (T-rect m1 m2) (U-rect g m1 m2)))
(show-expression
((L-rect 'g 'm_1 'm_2)
(up 't
(up 'x_1 'y_1 'x_2 'y_2)
(up 'xdot_1 'ydot_1 'xdot_2 'ydot_2))))
;
(define (L-l l y1 g m_1 m_2)
(compose
(L-rect g m_1 m_2) (F->C (q->r l y1))))
(show-expression
((L-l 'l 'y_1 'g 'm_1 'm_2)
(->local 't
(up 'x_1 'theta)
(up 'xdot_1 'thetadot))))
;
(show-expression
(((Lagrange-equations
(L-l 'l 'y_1 'g 'm_1 'm_2))
(up
(literal-function 'x_1)
(literal-function 'theta)))
't))
;
[guess]
— Me@2021-03-26 08:22:01 PM
.
.
2021.03.28 Sunday (c) All rights reserved by ACHK
You must be logged in to post a comment.