We have learned that the motion of a pendulum of length $L$ and mass $m$ is well modeled by the differential equation (which is Newton's 2nd law of motion)
$mL\theta'' = -mg \sin\theta$
where $\theta$ is the angle in radians that the pendulum makes with the vertical, and $g$ is the acceleration due to gravity which is approximately $9.8m/s^2$ here on the surface of the Earth. We saw that $m$ can be divided out, leaving:
$L\theta'' = -g \sin\theta$
meaning that the motion does not depend at all on the mass of the pendulum bob.
We further saw that if $\theta$ is not too large, then $\sin\theta\approx\theta$, so that a good approximate model is
$L\theta'' = -g \theta$
or
$\theta'' + \frac{g}{L} \theta = 0$.
The auxilliary equation for this DE is
$r^2 + \frac{g}{L} = 0$
whose roots are
$r = \pm i \sqrt{\frac{g}{L}}$
Thus the general solution of the DE is
$\theta = C \cos( \omega_0 t - \phi)$
where the angular frequency (radians per unit time) is
$\omega_0 = \sqrt{\frac{g}{L}}$.
Thus the frequency in full cycles per unit time is
$\nu_0 = \frac{\omega_0}{2\pi} = \frac{1}{2\pi} \sqrt{\frac{g}{L}}$
and the period, which is the reciprocal of the frequency, is
$\tau_0 = 2\pi\sqrt{\frac{L}{g}}$.
Thus, by solving the differential equation we have a prediction for the period $\tau_0$ of any pendulum here on the surface of the Earth where $g=9.8$, and it depends only on the length, $L$, as specified above.
Form a team of 3 with two of your classmates, choose a name for your team, and obtain a piece of string from the TA and something to use as the pendulum bob - a bolt and a nut (or several).
Decide on a length for your pendulum, measuring it with a tape-measure borrowed from the TA. Then determine the period of the pendulum by using a stopwatch on your phone to time how many seconds it takes to complete 10 full oscillations, and dividing that by 10.
One team member should then enter your measurement(s) - the length in meters and the period in seconds, as well as your team name and the UBIT usernames of the 3 team members - in this google spreadsheet. When you get the error message "Sorry, the file you have requested does not exist", modify the URL by changing the first Y to a V. (This is a small security measure.) Try not to interfere with other students who are editing the spreadsheet at the same time.
You can repeat this process for several lengths if you like.
We want to get results for a variety of lengths - from a couple of centimeters to several meters if possible. Feel free to go into a stairwell to allow you to swing a long pendulum.
Compare the prediction that $\tau_0 = 2\pi\sqrt{\frac{L}{g}}$ with everyone's experimental measurements by running the following Python code which downloads the data from the Google spreadsheet and plots it along with the graph of the prediction from the differential equation. (Copy and paste the code into your own local Jupyter notebook.)
# Code to grab and plot experimental pendulum data and compare with theory
# grab the google sheet
import requests,pandas
sheet = '1k8V6uAIF43-fflR4ut1PETIhS5JD-Z76P-e67MdlE68'
url = 'https://docs.google.com/spreadsheets/d/' + sheet + '/export?format=xlsx'
r = requests.get(url)
xlsx = '306_s25_lab5_pendulum_data.xlsx'
with open(xlsx,'wb') as f:
f.write(r.content)
# load the data just downloaded
data = pandas.read_excel(xlsx).dropna()
display(data)
from resources306 import *
g = 9.8
L = sp.symbols('L')
predicted_tau = 2*np.pi*sp.sqrt(L/g) # the predicted period from solving the differential equation
lengths = data['length in meters'] # the experimental data
periods = data['period in seconds'] # the experimental data
teamnames = data['name of team']
expressionplot(predicted_tau,L,0,lengths.max(),npts=1000,label='predicted from solving DE') # plot the prediction
plt.plot(lengths,periods,'o',label='measured') # plot the experimental data
xoffset,yoffset = -lengths.max()/100,0,#-.05,-.05
for length,period,name in zip(lengths,periods,teamnames):
plt.text(length+xoffset,period+yoffset,name,horizontalalignment='right',verticalalignment='center',fontsize=8)
plt.xlabel('length (m)'); plt.ylabel('period (sec)'); plt.legend(loc='upper left'), plt.grid()
plt.title('pendulum period vs. length');
Resolve any obvious typos or mistaken measurements in the Google spreadsheet, and then comment on how well or badly the experimental results agree with the theory.
Something else to ponder if you have time: Do you think the period should be longer or shorter if the amplitude is quite large so that the approximation of the force $mg\sin\theta$ by $mg\theta$ is no longer accurate? Explain your reasoning.