Lagrangen liikeyhtälöt kaksoisheilurille

Kaksoisheilurin liikeyhtälöt voidaan helpoimmin johtaa Lagrangen teorian avulla. Tällöin systeemin tila ilmaistaan ensin yleisten koordinaattien avulla, minkä jälkeen systeemin kineettinen energia ja potentiaalienergia esitetään yleisten koordinaattien funktioina. Näiden erotus on Lagrangen funktio L. Liikeyhtälöt saadaan tämän jälkeen mekaanisilla derivoinneilla muodossa

\(\(\(\(d\/\(d\ t\)\) ∂L\/∂q\&▪ - ∂L\/∂q = 
      0\)\(,\)\)\)

missä q tarkoittaa jokaista yleistettyä koordinaattia vuorollaan ja (Overscript[q, ▪]) sen aikaderivaattaa.

Puhdistetaan työtila tarkastelun aluksi.

Remove["Global`*"]

Kaksoisheilurin tapauksessa yleistetyt koordinaatit ovat (Subscript[θ, 1]) ja (Subscript[θ, 2]), jotka riittävät määrittämään heilurin aseman. Kumpikin on ajan funktio. Heilurien suorakulmaiset koordinaatit myös ajan funktioina ovat tällöin

(Subscript[x, 1])[t_] = L Sin[(Subscript[θ, 1])[t]];
(Subscript[y, 1])[t_] = -L Cos[(Subscript[θ, 1])[t]];

(Subscript[x, 2])[t_] = 
        L Sin[(Subscript[θ, 1])[t]] + L Sin[(Subscript[θ, 2])[t]];
(Subscript[y, 2])[t_] = -L Cos[(Subscript[θ, 1])[t]] - 
          L Cos[(Subscript[θ, 2])[t]];

Näiden avulla voidaan muodostaa lausekkeet koko systeemin kineettiselle energialle ja potentiaalienergialle:

T[t_]=(1/2) (Subscript[m, 1]) ((((Subscript[x, 1]^′)[t])^2)+(((Subscript[y, 1]^′)[t])^2))+(1/2) (Subscript[m, 2]) ((((Subscript[x, 2]^′)[t])^2)+(((Subscript[y, 2]^′)[t])^2))//Simplify

V[t_] = 
      (Subscript[m, 1]) g (Subscript[y, 1])[t] + (Subscript[m, 2]) g (Subscript[y, 2])[t] // Simplify

Systeemin Lagrangen funktio on näiden erotus:

L[t_] = T[t] - V[t] // Simplify

Liikeyhtälöt saadaan tämän jälkeen mekaanisella derivoinnilla, jolloin kumpikin yleistetty koordinaatti on käsiteltävä erikseen:

yht1= D[D[L[t],(Subscript[θ, 1]^′)[t]],t]- D[L[t], (Subscript[θ, 1])[t]] == 0//Simplify

yht2= D[D[L[t],(Subscript[θ, 2]^′)[t]],t]- D[L[t], (Subscript[θ, 2])[t]]==0//Simplify

Yhtälöitä voi hieman yksinkertaistaa termien sopivalla ryhmittelyllä derivaattojen mukaan. Seuraavat komennot ovat samalla esimerkkejä Mathematican hieman hankalasta syntaksista.

(Expand[
            Collect[#, {(Subscript[θ, 1])''[t], (Subscript[θ, 2])''[
                    t], (Subscript[θ, 1])'[t], (Subscript[θ, 2])'[t]}]/
              L^2] &) /@ yht1

(Expand[
            Collect[#, {(Subscript[θ, 1])''[t], (Subscript[θ, 2])''[
                    t], (Subscript[θ, 1])'[t], (Subscript[θ, 2])'[t]}]/
              L^2] &) /@ yht2

Tehtävä

Vertaa saatuja liikeyhtälöitä kaksoisheiluriesimerkin lähtökohtana oleviin ja totea ne samoiksi.

SKK 04.05.2001