到目前為止,我們已經預設地假設我們可以直接計算力作為位置的函式,建立微分方程

並開始求解。
但這並不總是那麼簡單。
通常,我們必須處理約束下的運動;例如,沿著導線滑動的珠子、不打滑滾動的球、從繩子上懸掛的重物。
一定存在某種力將珠子保持在導線上,但我們事先不知道它是哪種力,只知道它起到的作用。這對於我們提前寫下微分方程來說是不夠的。
我們需要一種方法來解決問題,而不必事先知道力。
解決這個問題的難易程度取決於約束的型別。
- 如果約束是不等式,例如繩子上的重物,那麼沒有直接的解析方法。
- 如果約束可以寫成一組微分方程,而這些方程不能事先積分,那麼存在一種解析方法,但它超出了本書的範圍。不打滑滾動的球屬於這種情況。
- 如果約束可以寫成一組代數方程,並且摩擦力可以忽略不計,那麼存在一種簡單的方法可以解決問題。
假設我們有一個包含n個粒子的系統,它們滿足以下形式的k個約束

那麼我們可以使用這些約束來消除粒子3n個座標中的k個,從而得到一組新的3n-k個獨立的廣義座標;q1、q2、…q3n-k。
與位置向量的分量不同,這些新座標並不都是長度,而且通常不會形成向量。它們通常是角度。
現在我們需要計算牛頓定律在廣義座標中的形式。
第一步是消除約束力。
我們需要考慮一個虛位移。這是一個無窮小的位移,在保持力和約束不變的情況下進行的。它與無窮小時間內發生的無窮小位移不同,因為力與約束可能在該時間內發生變化。
- 我們將作用在粒子i上的總力寫成

- 即外力與約束力的總和。
- 牛頓第二定律指出

- 我們將此式與粒子i的虛位移進行點積,並對所有粒子求和。

- 我們現在假設約束力垂直於虛位移。在沒有摩擦的情況下,這種假設通常是正確的;例如,保持球體在表面上的約束力垂直於表面。
- 這種假設被稱為達朗貝爾原理。使用它,我們可以從問題中消除約束力,得到

- 或者

- 此方程式的左側稱為虛功。
現在我們必須轉換為廣義座標系。
- 我們寫

- 使用鏈式法則得到

- 和

- 請注意,這意味著

- 省略上標,虛功為

- 其中Qj是廣義力的分量。
我們現在將(1)的右側處理成與最後一個方程可比較的形式
- 右側項是

- 係數 qj 中的項可以重新排列。
![{\displaystyle {\begin{matrix}\sum _{i}m_{i}{\ddot {\mathbf {r} }}_{i}\cdot {\frac {\partial \mathbf {r} _{i}}{\partial q_{j}}}&=&\sum _{i}\left[{\frac {d}{dt}}\left(m_{i}{\dot {\mathbf {r} }}_{i}\cdot {\frac {\partial \mathbf {r} _{i}}{\partial q_{j}}}\right)-m_{i}{\dot {\mathbf {r} }}_{i}\cdot {\frac {d}{dt}}\left({\frac {\partial \mathbf {r} _{i}}{\partial q_{j}}}\right)\right]\\&=&\sum _{i}\left[{\frac {d}{dt}}\left(m_{i}\mathbf {v} _{i}\cdot {\frac {\partial \mathbf {v} _{i}}{\partial {\dot {q}}_{j}}}\right)-m_{i}\mathbf {v} _{i}\cdot {\frac {\partial \mathbf {v} _{i}}{\partial q_{j}}}\right]\end{matrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0079fae4717d96dd213dca849ba5ae313da6699e)
- 將上面的等式 (2) 代入。
仔細觀察這個最後一個等式,我們發現它與總動能類似。

- 現在我們進一步重新排列,以得到一個明確包含 T 的表示式。
![{\displaystyle {\begin{matrix}\sum _{i}m_{i}{\ddot {\mathbf {r} }}_{i}\cdot {\frac {\partial \mathbf {r} _{i}}{\partial q_{j}}}&=&\sum _{i}\left[{\frac {d}{dt}}\left(m_{i}\mathbf {v} _{i}\cdot {\frac {\partial \mathbf {v} _{i}}{\partial {\dot {q}}_{j}}}\right)-m_{i}\mathbf {v} _{i}\cdot {\frac {\partial \mathbf {v} _{i}}{\partial q_{j}}}\right]\\&=&{\frac {d}{dt}}\left({\frac {\partial }{\partial {\dot {q}}_{j}}}{\frac {1}{2}}\sum _{i}m_{i}v_{i}^{2}\right)-{\frac {\partial }{\partial q_{j}}}{\frac {1}{2}}\sum _{i}m_{i}v_{i}^{2}\\&=&{\frac {d}{dt}}\left({\frac {\partial }{\partial {\dot {q}}_{j}}}T\right)-{\frac {\partial }{\partial q_{j}}}T\end{matrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4982bd770ab8623c2d1d8817b2084e0ead73513f)
將最後一個表示式代入 (1) 以及廣義力,得到
![{\displaystyle \sum _{j}\left[{\frac {d}{dt}}\left({\frac {\partial T}{\partial {\dot {q}}_{j}}}\right)-{\frac {\partial T}{\partial q_{j}}}-Q_{j}\right]\delta q_{j}=0}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1a6aebf0b0de7f323e2abf132ec743540e70b509)
由於 δqj 與 δri 不同,是相互獨立的,所以最後一個方程只有在所有係數都為零時才成立。
也就是說,我們必須有

這些是系統的運動方程,是在一組通用的座標系中,所有約束條件都自動滿足。
例如,假設我們有一個質量為 m,半徑為 a 的圓柱體,它在一個平面上無滑動滾動。
圓柱體的動能為

根據 剛體 中的結果,其中 x 是與圓柱體軸線垂直的平面上的軸線,θ 是旋轉角。
無滑動滾動意味著

所以我們得到

圓柱的動能與其質量增加 20% 相同。如果圓柱沒有扭矩,那麼 Qx=Fx,並且圓柱在各方面表現得就像一個 20% 更大的質點。
為了更廣泛地使用 (3),我們需要一個關於 Qj 的表示式。
假設,正如經常發生的那樣,

那麼,根據定義

因此,透過比較係數,廣義力為

將此廣義力代入 (3) 得到

因為 V 被假定為獨立於速度。
事實上,對於一些依賴速度的力,特別是磁力,這個最後一個方程仍然成立,前提是對 V 做出適當的定義,但我們這裡不證明這一點。
我們將 T-V 稱為 拉格朗日量,L,並寫成

我們將這些方程稱為 拉格朗日方程。它們在笛卡爾座標系不方便的情況下很有用,包括約束運動。
假設我們有兩個相同的質點,質量為 m,它們透過一根長度為 a 的繩子連線。繩子穿過一張平桌上的一個洞,這樣上方的質量在水平面上無摩擦地運動,而下方的質量始終垂直於洞的下方。上方的質量到洞的距離是 r。
桌子上的質量的位置最好用極座標來描述,(r,θ)。它的動能為

下方質量的速度是 d(a-r)/dt=-dr/dt,所以總動能是

勢能是

其中 g 是重力加速度。
這意味著

運動方程為

第一個方程表明角動量是恆定的,正如預期的那樣,因為粒子沒有受到扭矩。如果我們把這個恆定的角動量稱為l,那麼我們可以寫成

第二個運動方程變為

顯然,如果最初

那麼,下方的球將被拉出孔,此時這些運動方程不再適用。它們只在 0≤r≤a 時成立,這是一個不容易處理的約束條件。
請注意,我們不需要計算繩子的張力,它是這個問題中的約束力。