Auswerten großer Ausdrücke mit Differentialgleichungsbeschränkungen

Betrachten Sie die folgende Lagrangefunktion für ein System mit θ Und R wobei die Systemkoordinaten:

L = 2 M R ˙ 2 + 1 2 M R 2 θ ˙ 2 G M R ( 3 cos θ )

Was uns das folgende Differentialsystem gibt:

4 M R ¨ M R θ ˙ 2 + G M ( 3 cos θ ) = 0

2 M R θ ˙ R ˙ + M R 2 θ ¨ + G M R Sünde θ = 0

Und nehmen Sie die folgende Funktion:

H = R 2 θ ˙ ( R ˙ cos θ 2 R θ ˙ 2 Sünde θ 2 cos 2 θ 2 )

Beweisen Sie das jetzt mit Maple (oder einem beliebigen CAS wie SymPy usw.).

D H D T = 0 (diese Größe hängt mit dem Satz von Noether zusammen)

Was ich getan habe, war zu definieren L ( R , θ ) , H ( R , θ ) , und die Verwendung von eval mit dem obigen Ausdruck und den Differentialsystemgleichungen, aber es gibt denselben Ausdruck zurück:

Ahorn-Arbeitsblatt

Wie kann ich diesen Ausdruck mit dem aus dem Lagrangian erhaltenen Differentialsystem auswerten?

Antworten (1)

Ich verstehe nicht, wie Sie Ihr H von Ihrem L erhalten.

Unten stimmen die beiden DEs (Euler-Lagrange-Gleichungen) mit dem überein, was Sie angegeben haben.

Ich konstruiere Hdefmit der Legendre-Transformation von L.

Ich übergebe einen Satz, der die beiden DEs enthält, als drittes Argument an Maples simplifyBefehl. Dies wird manchmal als "vereinfachen mit Nebenbeziehungen" bezeichnet. Und so weise ich Maple an, diff(Hdef,t)das Thema dieser Nebenbeziehungen zu vereinfachen.

restart;

with(Physics,diff):

L := 2*m*diff(r(t),t)^2 + 1/2*m*r(t)^2*diff(theta(t),t)^2
     - g*m*r(t)*(3-cos(theta(t)));

                       2                           2                               
             / d      \    1       2 / d          \                                
    L := 2 m |--- r(t)|  + - m r(t)  |--- theta(t)|  - g m r(t) (3 - cos(theta(t)))
             \ dt     /    2         \ dt         /                                

Er := - diff(L,r(t)) + diff(diff(L, diff(r(t),t)),t) = 0;

                                2                                 /  2      \    
                  / d          \                                  | d       |    
    Er := -m r(t) |--- theta(t)|  + g m (3 - cos(theta(t))) + 4 m |---- r(t)| = 0
                  \ dt         /                                  |   2     |    
                                                                  \ dt      /    

ETh := - diff(L,theta(t)) + diff(diff(L,diff(theta(t),t)),t) = 0;

                                              / d          \ / d      \
     ETh := g m r(t) sin(theta(t)) + 2 m r(t) |--- theta(t)| |--- r(t)|
                                              \ dt         / \ dt     /

                  /  2          \    
                2 | d           |    
        + m r(t)  |---- theta(t)| = 0
                  |   2         |    
                  \ dt          /    

Hdef := diff(r(t),t)*diff(L, diff(r(t),t))
        + diff(theta(t),t)*diff(L, diff(theta(t),t))
        - L;

                               2                           2
                     / d      \    1       2 / d          \ 
         Hdef := 2 m |--- r(t)|  + - m r(t)  |--- theta(t)| 
                     \ dt     /    2         \ dt         / 

            + g m r(t) (3 - cos(theta(t)))

simplify( diff(Hdef,t), {Er, ETh} );

                                  0
Eigentlich wurde das H angegeben (vielleicht ist das Beispiel einfach falsch, sorry dafür), aber der simplifyBefehl war genau das, was ich brauchte, danke! (und ich hatte einen Tippfehler beim Schreiben von 'sin' in den Screenshot, aber es hat immer noch nicht funktioniert)