Written by Alexei Gilchrist, updated some time ago
The loaded string is a classic problem of coupled oscillators where \(N\) small masses are threaded onto a light string. It makes a nice transition for considering the continuum case and waves.
Level: 2, Subjects: Coupled Oscillators

1 Introduction

Imagine a system of \(N\) masses threaded on a light string with a spacing of \(a\) as pictured below. The masses are free to move up and down vertically only. The string is fixed at each end and we want to know how the system will oscillate. This situation describes \(N\) coupled oscillators, a system which we know how to solve (coupled-oscillators).

The loaded string: \(N\) equal masses threaded on a string and free to oscillate in one dimension.

2 Equations of motion

Instantaneous positions of the \(n^\mathrm{th}\) mass and its neighbours.

To solve the system we will assume that the tension is large enough and the motion small enough so that we can treat the tension as a constant. Say \(y_n\) denotes the displacement of the \(n^\mathrm{th}\) mass. Examining that mass and its nearest neighbours (see the diagram above) we can write the total force exerted on it: \begin{equation*} F = -T \sin\theta_1-T\sin\theta_2 = -\frac{T}{a}(y_{n-1}-2y_n+y_{n+1}). \end{equation*} Which together with Newton's second law gives \begin{equation}\label{eq:eqnofmotion} \ddot{y}_n = -\frac{T}{ma}(y_{n-1}-2y_n+y_{n+1}). \end{equation}

Following our usual procedure we substitute in \(N\) trial solutions of the form \(y_n(t)=A_n e^{i\omega t}\) expecting to find solutions where all the masses are moving with the same frequency (i.e. the normal modes). This yields \(N\) equations \begin{equation}\label{eq:diff-eq} -A_{n-1}+2A_n-A_{n+1} = \beta A_n, \end{equation} where \(\beta = m a \omega^2/T\) has been introduced for convenience. Note that the boundary conditions (the string is clamped at both ends so it can't move) effectively imply that \(y_0 = y_{N+1} = 0\), and in particular \(A_0 = A_{N+1} = 0\). These equations can be written in matrix form: \begin{equation*} \begin{pmatrix} 2 & -1 & 0 & 0 & \\ -1 & 2 & -1 & 0 & \cdots \\ 0 & -1 & 2 & -1 & \\ & \vdots & & & \ddots \end{pmatrix} \begin{pmatrix} A_1 \\ A_2 \\ A_3 \\ \vdots \end{pmatrix} = \beta \begin{pmatrix} A_1 \\ A_2 \\ A_3 \\ \vdots \end{pmatrix} \end{equation*} Finding the eigenvalues and eigenvectors of this matrix will yield the normal mode frequencies (via \(\beta\)) and normal mode variables.

For \(N\) not too large, this matrix can be fed into your favourite linear algebra program to obtain the eigenvalues and eigenvectors, but the solution for arbitrary \(N\) may not be so apparent. To solve the equations in general requires other techniques, like the one we will cover in the next section, and the result will be that the normal mode frequencies are \begin{equation*} \omega_j = 2\sqrt{\frac{T}{ma}}\sin\left(\frac{j \pi}{2(N+1)}\right), \end{equation*} where \(j\in 1,2,\ldots,N\) labels the normal mode. For each normal mode \(j\), the motion of the \(n^\mathrm{th}\) oscillator is described by \begin{equation*} y_n^{(j)}(t) = d_{j} \sin\left(\frac{n j \pi}{N+1}\right)\cos(\omega_j t + \phi_j). \end{equation*} In general, the position of the \(n^\mathrm{th}\) mass can be described as a superposition of all the normal modes: \begin{equation*} y_n(t) = \sum_{j=1}^{N} d_{j} \sin\left(\frac{n j \pi}{N+1}\right)\cos(\omega_j t + \phi_j), \end{equation*} and the constants \(d_{j}\) and \(\phi_j\) are determined by the initial conditions.

Alternatively, we could write it as a sum of a sine and cosine instead of using a phase \begin{equation*} y_n(t) = \sum_{j=1}^{N}\sin\left(\frac{n j \pi}{N+1}\right)[a_j\cos(\omega_j t)+b_j\sin(\omega_j t)], \end{equation*} and now the constants \(a_{j}\) and \(b_j\) are determined by the initial conditions. In this form it's easy to see how the initial conditions come into play. Say we know the initial positions \(y_n(0)\) and velocities \(\dot{y}_n(0)\) of each mass, we can immediately write down \(N\) coupled equations \begin{align*} y_n(0) &= \sum_{j=1}^{N}\sin\left(\frac{n j \pi}{N+1}\right) a_j \\ \dot{y}_n(0) &= \sum_{j=1}^{N}\sin\left(\frac{n j \pi}{N+1}\right) \omega_j b_j, \end{align*} which we would need to invert to find \(a_{j}\) and \(b_j\).

3 Deriving the solution

Lets go back to the recursion relation between the amplitudes \eqref{eq:diff-eq}. This is a linear difference equation with constant coefficients. In a similar process to solving differential equations, to solve this difference equation we substitute a trial solution, which for this family is of the form \(A_n=\lambda^n\): \begin{equation*} -\lambda^{n-1}+2\lambda^n-\lambda^{n+1} = \beta \lambda^n. \end{equation*} Dividing by \(\lambda^{n-1}\) gives the quadratic equation \begin{equation*} \lambda^{2}+(\beta-2)\lambda+ 1= 0, \end{equation*} which has the solutions \begin{equation*} \lambda = \frac{1}{2}\left(2-\beta \pm \sqrt{\beta(\beta-4)}\right). \end{equation*} Labelling the two roots as \(\lambda_1\) and \(\lambda_2\) we've found that the general solution can be written as \begin{equation*} A_n = a \lambda_1^n + b \lambda_2^n \end{equation*} for arbitrary constants \(a\) and \(b\).

Note that the roots will be complex if \(\beta \le 4\), that is if \(\omega \le 2\sqrt{\frac{T}{ma}}\). In this case we can go much further with the solution. The complex roots also have unit modulus in this case so we can write them as \(\lambda_1 = e^{i \theta}\) and \(\lambda_2 = e^{-i \theta}\) and the general solution now reads \begin{equation*} A_n = a e^{i n \theta} + b e^{-i n \theta} = (a+b)\cos(n \theta) + (a-b)\sin(n \theta) = c\cos(n \theta) + d\sin(n \theta) \end{equation*} for two new constants \(c\) and \(d\).

The boundary conditions require \(A_0 = A_{N+1}=0\). The first boundary yields: \begin{equation*} A_0 = c = 0, \end{equation*} then the second boundary yields \begin{equation*} A_{N+1} = d \sin([N+1] \theta)= 0, \end{equation*} which will be satisfied if \(\theta = j\pi/(N+1)\) for \(j = 1,2,\ldots,N\) since \(0\le \theta < \pi\).

So we have that the amplitudes must have the form \begin{equation*} A_n = d \sin\left(\frac{j x\pi}{N+1}\right), \end{equation*} for \(j = 1,2,\ldots,N\).

In the above argument we wrote (for \(\beta \le 4\)) \begin{equation*} \lambda = \frac{1}{2}\left(2-\beta \pm i\sqrt{\beta(4-\beta)}\right) = e^{\pm i\theta}, \end{equation*} the imaginary parts of which give \begin{equation*} \frac{1}{2}\sqrt{\beta(4-\beta)} = \sin{\theta}. \end{equation*} After some simplification and solving for \(\omega\) we get that only specific \(\omega\) values are allowed: \begin{equation*} \omega_j = 2\sqrt{\frac{T}{ma}}\sin\left(\frac{j\pi}{2(N+1)}\right), \end{equation*} and for each \(\omega_j\) the displacements of the masses are given by \begin{equation*} y_x^{(j)}(t) = d_{j} \sin\left(\frac{n j \pi}{N+1}\right)\cos(\omega_j t). \end{equation*} An arbitrary phase could be added to this solution without changing the argument, in general this would be needed to take into account the initial conditions.

Note that once you know what the solution is, it's possible to find nicer trial functions to substitute in \(\ldots\) but of course this is only in retrospect.

4 Example

If we have just seven masses linked together we will have seven normal frequencies (the two end masses represent the fixed points):

Click figure to download the CDF demo.
A loaded string consisting of seven masses (the two end masses are fixed). The parameter \(j\) determines the normal mode. Press play to see the normal mode motion for the whole string. Note that the normal mode frequencies get larger with the mode. As a test of your intuition try to guess what the mode motions should look like.