ふつうの振り子の振動は、近似的には(振幅が微小であるとすれば)単振動だが、 もう少し詳しく言うと、ひもの長さを r 、おもりの位置の真下方向からの角度を θ、重力加速度を g として、
d2 θ r ------ = - g sin θ (3) d t2という式に従う。これの解析解は楕円関数という名前がついてはいるものの、 計算は簡単ではないが、 前方差分で計算するプログラムは、単振動のプログラムの(Fortranで書けば)
w = wold + deltat * a * zoldを
w = wold + deltat * a * sin(zold)と変えるだけである。
ただし、この場合、プログラム中の Z は角度θ[ラジアンを単位とする] である。 また、a = - g / r とおいている。 (3)の解は、単振動と違って、振幅を変えると相似にならない。