Project for MATH 3200-002: Elementary Differential Equations

Fall 2004, University of Colorado at Denver

 

In MATLAB, we locate and run the code BALLODE.M that generates the following figure:

 

This BALLODE demo shows the height as a function of time graph of a ball “bouncing” under the force of gravity starting at height zero at time zero and with an initial velocity straight up that brings the ball to a certain maximum height before it stops. At this time the ball comes straight back down to its initial position. The demo computes ten bounces, each time attenuating the ball’s initial speed by a factor of 0.9 and thus diminishing the height that the ball travels and the time it takes to complete one bounce. We can edit the source BALLODE.M to change the speed attenuation of the ball to 0.5 and then run the modified code to obtain another plot:

 

This plot shows the ball starting off at time zero with the same initial position and velocity as before, so nothing changes when the demo computes the first bounce using the modified code. Starting with the second bounce, we see the consequences of the change on the graph. The initial velocity for each subsequent bounce is reduced by a factor of 0.5, and the height the ball travels is reduced significantly compared to the height it achieves when attenuating the initial speed by 0.9. We see that by the last run, the ball has reached an initial velocity of nearly zero and does not achieve any discernable height. Changing the speed attenuation of the ball indeed affects its trajectory, although some of the difference we see between the figures is simply a result of scaling the time axis.

The differential equation being solved is Y’= [ Y2 ; -9.8]  where Y is a column vector, Y = [ Y1 ; Y2].  This is a first order linear system of equations.  We see that it is equivalent to the second order linear scalar equation y’’ = -9.8 by setting Y1 = y and Y2 = y’.   By integration we see that y’ = -9.8t +C1 and y = -4.9t2 + C1t + C2. Therefore, the general solution to the vector equation is:

 Y = [ Y1 ; Y2]  = [ -4.9t2 + C1t +C2 ; -9.8t + C1 ] = C1[ t ;1 ] +C2[ 1 ; 0 ] + [ -4.9t2 ; -9.8t ].

The textbook, Elementary Differential Equations by Werner Kohler and Lee Johnson, describes a similar model of projectile motion in Chapter One, Introduction to Differential Equations, Example One on page 2.  Both the MATLAB code and the text solve a differential equation modeling a projectile traveling vertically while being acted upon be a single force, gravity. MATLAB solves an initial value problem multiple times to describe the “bounce” of a ball, while the text only finds the general solution to the differential equation. The MATLAB code solves a first order linear system, while the book simply uses successive integration to get from the equivalent second order linear differential equation representing acceleration to a solution giving the object’s position. The material of Section 6.2 instructs us in how to convert the second order scalar linear equation to the equivalent first order linear system.