Acceleration
&
Galileo's Law of Gravity

by
K. D.  Stroyan
University of Iowa

copyright 1997 by Academic Press, Inc. - All rights reserved.

Gravity Data (no Air Resistance. Open it to see the numbers.)

In the cell below is a list of (time, distance) data pairs for the fall of a lead cannon ball dropped off a tall cliff.  Please enter the cell.

Gravity data as a `matrix' of (time,distance) pairs in (second,meter) units:

gravityData = {{0., 0.}, {0.5, 1.223}, {1., 4.901},
	{1.5, 11.03},{2., 19.6}, {2.5, 30.63}, {3., 44.1},
	{3.5, 60.02},{4., 78.4}, {4.5, 99.23}, {5., 122.5},
	{5.5, 148.2},{6., 176.4}, {6.5, 207.}, {7., 240.1},
	{7.5, 275.6},{8., 313.6}, {8.5, 354.}, {9., 396.9},
	{9.5, 442.2},{10., 490.}} ;

Notebook Overview

This NoteBook compares Galileo's observation for objects falling in vacuum that,

"The speed speeds up at a constant rate."

with data for a very heavy object falling a long distance.

If  v  represents speed of an object falling straight down, then the rate of change of speed is the derivative  dv/dt.  This means that Galelio's law can be phrased:

(dv/dt) = g

for  g  a constant (independent of the particular object, provided there is no air resistence.)

Since speed of an object moving along a line is the derivative of the distance moved,  v = ds/dt, Galileo's Law can be expressed directly in terms of the distance moved

(dv/dt) = (((d^2) s)/(dt^2))

so

(((d^2) s)/(dt^2)) = g

says that the speed speeds up at a constant rate.

The second derivative of position equals the rate of change of velocity and is called the acceleration.  Galileo's Law that the speed speeds up at a constant rate can also be expressed by saying

a = g

acceleration due to gravity is constant  g (independent of the object).

References to the Text

This NoteBook goes with Chapter 10 of the text.

Step-by-step

Warning

You should do the hand calculation in Exercise 10.1.2 and think about Problem 10.1 before you work your final draft of this NoteBook.  We are just computing the change in distance over the corresponding change in time and then the change in speed over the corresponding change in time, but the computer details tend to obscure the simplicity if you haven't tried a simpler example by hand.

Gravity Data as a Continuous Plot

We can use the ListPlot command to draw a graph of the data.

ListPlot[gravityData, PlotJoined -> True, AspectRatio -> 1, 
      PlotRange -> {0, 500}, AxesLabel -> {time, distance}];

Gravity Data as a Table or Row-Column Matrix
& The Differences Operator

Another useful way to display data lists is in TableForm.  Mathematica uses lists of lists, but thinking of the data in terms of rows and columns will enable us to develop a short routine to calculate the differences needed to verify Galileo's law.  Enter the next calculation to see the data in this form with a prepended header:

datalist = Prepend[gravityData, {"t", "s"}]; Print[TableForm[datalist]]

We can address points in the data list by entry number and elements of the list in terms of rows and columns.  For example, here is the third data point:

gravityData[[3]] = {1., 4.9}

and here is the second column entry in the third point:

gravityData[[3, 2]] = 4.9.

Compare these with the table above.

The square brackets enable us to operate on elements of our list of data.  The next cell defines a general purpose function to take difference quotients of our list.  We take the list of data representing (time, distance) pairs and step through it using the Do loop.

We subtract the number in the second column from the number in the second column in the following row, and then divide by the difference between the numbers in the first columns of these rows.  In the case of the gravityData list, this amounts to calculating

((s[t + (1/2)] - s[t])/((1/2)))

as t goes from 0 to 9.5.  The difference[ . ] function is more general and could handle

((s[t2] - s[t1])/(t2 - t1))

for any times  t2  and  t1.  Read the definition and Enter it now.

Definition of differences[ datalist ]

\(differences[datalist_List] := 
      Module[{diffs}, diffs = {}; 
		
        Do[\(AppendTo[diffs, 
            \(datalist[[i, 2]] - 
                datalist[[i - 1, 2
                  ]]\)\/\(datalist[[i, 1
                  ]] - 
                datalist[[i - 1, 1]]\)]; 
          \)
			, {i, 2, Length[datalist]}]; 
		Return[diffs]]\)

The difference calculation with gravityData amounts to deriving a list of average speeds.

avespeeds = differences[gravityData]

Times & Speeds Computed from Distances

We want the average speeds computed with the differences operator along with the best times to which they correspond in a list of (time,speed) pairs.  See the text to understand why the best times are the midpoints of our time intervals, t = 1/4, 3/4, 5/4,...  Also notice that there are only  20 speeds computed from the  21  distances.  Enter the next computation to get (time,speed) pairs:

times = Table[t, {t, 0.25, 9.75, 0.50}]; speedData = Transpose[{times, avespeeds}]

Exercise: Plot the (time,speed) data

HINT: Compare the task with a plot above.

Exercises

Exercise 10.2.2: Verify Galileo's Law of Gravity

Use the differences[.] function and the kinds of computations above to verify that Galileo's law is approximately correct for the lead cannon ball data.
1) Compute the accelerations and compare them. (HINT: Use the differences operator.)

accelerations = ?

2) Create a list of (time,acceleration) pairs at the correct times and plot them.

accelerationData = ?

3) Does this verify Galileo's law of gravity?  Why?  Does a Plot help?

Exercise 10.2.3:

4) How does the Plot of speed vs. time support or reject Galileo's law?  Graph it first, then think.

Problem 10.1: Reject the First Conjecture that
Speed is Proportional to the Distance Fallen
(Bugs Bunny's Law of Gravity)

List Computations for Rejection of the First Conjecture

We want to compare our computed speeds with the distances.  Here is a way to separate the times and distances from the original data:

{times, distances} = Transpose[gravityData]

Next we will drop the first distance which is zero.

distances = Drop[distances, 1]

To divide each average speed by a corresponding distance all we need to do is enter the arithmetic we want on the list names = avespeeds/distances.  Mathematica will divide each term in the first list by the corresponding term in the second list.

(avespeeds/distances)

Exercise: Plot this information

Problem 10.1: Alternative (Symbolic Solution) Rejection

Write the conjecture "speed is proportional to the distance fallen" as a differential equation and use the ideas from Chapter 8 to show that this means that distance can be written as a constant multiple of an exponential function.

1)  What does the constant have to be if we start at distance zero when time is zero?

2)  If s[t] = S Exp[ k t], for a constants  S  and  k, what is the form of the list of numbers, { Log[ s[0], Log[ s[1/2] ], Log[ s[1] ], ..., Log[ s[9.5] ], Log[ s[10] ]}?  Take log of the list of distances and check whether or not the data agrees with the prediction of the first conjecture.

logdist = Log[distances]

Plot the logs of the distances.  What does the first conjecture predict that the graph looks like?  Does it?

ListPlot[logdist, PlotJoined -> True]

Your Summary for Problem 10.1:   Speed is NOT Proportional to the Distance Fallen

Why is this `law of gravity' wrong? Your summary explanation goes here: