Finding the Maximum Range
Now we would
like to determine which angle will cause our projectile to travel the greatest
horizontal distance. For that, observe that the correct angle will be that for
which
|
|
This is because
if we imagine that we draw a graph of the range as it depends
on
then we expect that at the point
where it attains a maximum (largest) value the tangent line will be horizontal.
If this is not clear then return to the position and velocity portraits page
of the previous Chapter.
How do you calculate
the horizontal distance traveled by the projectile, given initial altitude =
10 meters, speed V and angle
? Since the horizontal velocity is unaffected by gravity (in principle), this
distance must be
where we determined that
|
|
or
|
|
And this simplifies
to
|
|
since ![]()
Actually, you
do not have to imagine this. If you go to the calculator and change the graph2D
settings, by right clicking on the screen to get the menu, and make the following
changes: Settings, Horizontal Extent, from 0 to pi/2 and Settings,
Rulingst, x = 0.1 and y = 100.
Then type the following in the command line and press Enter after each line.

You will see:

The
graph is not a parabola, but it is almost one. The largest value occurs (the
graph becomes horizontal) at about 0.7642 as you can see by checking Trace.
We will show a better way to do that below.
To get the equation
for
that you must solve for
in order to maximize the distance, you must differentiate
|
|
with respect to
.
So

Now when we set this derivative to 0 we will see that we can cancel
and g to finish with the equation
![]()
This would be
a very difficult equation to solve exactly. We will not even try. But consider
this. Suppose that instead of 10 meters, the initial height was 0 meters (launched
from the Earth's surface). In this case, write down and solve the equation for
the angle that gives the greatest horizontal distance exactly. You will find
that the answer is 45 degrees. We will solve the equation below. Real problems
do not generally have such tidy solutions. In fact, for our problem we do not
even know
One may approach
an equation like this by approximating
using the exploration on this page. You may use this approach. You saw that
if the initial height was 0 instead of 10 meters, it was easy to solve for
. Now, substitute that angle into your equation. You do not get 0, the
answer is either positive or negative. So try a nearby angle for which the sign
of your answer is different from the sign of your first guess. The correct answer
is probably between these two. So take the average of these, and let that be
your next guess. Continue in this way until you are satisfied that your answer
is close enough.
Exploration: Approximating the range
This page is
similar to the previous one. Here, you may experiment with ballistic projectiles
to discover how far they travel before returning to ground (their range), depending
on three things:
Cannon height: This is the altitude above the ground at which the cannon is placed. The height is measured in meters, and you determine this height by adjusting the slider at the upper right:

Initially, the height is 0, or ground level. As you move the slider, the height changes. To make fine adjustments to the slider value, click on the thumb, and then press the left or right arrow keys on the keyboard. Finally, you may set an absolute value by hand if you right click on the slider to get its menu, then select Settings, and type in the Current Value desired.
Cannon speed: This is the absolute speed in
with
which the ball leaves the cannon. Initially, it is set to
|
|

As you change the speed the size of the cannon (at the lower left of the Graph2D) changes to reflect that.
Cannon angle: This is the angle, measured in degrees, that the cannon makes with the ground. Initially it is set to 30 degrees, and as you move the slider between 0 and 90 degrees, you will see the cannot rotate to reflect the change. If you choose an angle larger than 90 degrees, the system will use 90 degrees.

You may fire
the cannon at will by pressing the Fire Cannon button. If you check the
Sound? checkbox, then you will hear it fire. To clear the screen, press
Clear.

You will see the trajectory of the ball in the Graph2D

which is scaled from -50 to 500 meters in each direction. You may also zoom-in around a rectangle that you draw by pressing the In button, then clicking the mouse on the upper-left corner of the new window and dragging it to the lower right corner, and releasing it. You may do this repeatedly, and to zoom out one step, just click Out. To zoom back to the start, click Out repeatedly. If you check Trace? then the coordinates of the mouse will be reported in the adjacent field as you move it around.
The following
information which is different from the previous page, is reported after each
trial:

You are told the maximum range attained in meters (the horizontal distance traveled), and the time that passes before the projectile returns to height 0 (crash time) in seconds.
Let's check our
range formula in the calculator. Click
and define a function range(v,a) of two variables: v (speed
of projectile) and a (angle
measured in degrees). The definition will be:
![]()
We will supply
the angle a in degrees and so we apply the built-in radian
function to convert that to the radians that the trigonometric functions expect.
At the command line define the function and press Enter.
Range(v,a) := (v^2*sin(2*radian(a))+2*v*cos(radian(a))*sqrt(v^2*sin(radian(a))^2+20*g))/(2*g);
![]()
Now, let's try
it out. Return to the Maximum range page, just click
to return to the Contents page, then select Maximum range attained. Set the
cannon at height 10 meters, set the angle at 30 degrees and set the velocity
at 50 meters/sec. Fire the cannon. The system reports:

So the time in the air is 5.4748058 seconds, just as our formula on the previous page predicted. Now, return to the calculator and calculate range(50,30).
calc range(50, 30);

and the system reports: 237.0660483. Try some other examples.
Now returning
to our problem, we would like to determine which angle will cause our
projectile to travel the greatest horizontal distance. For that, observe
that the correct angle will be that for which
|
|
As we saw, the equation to solve is
![]()
We will do this in the calculator now so that you will have a result to compare your approximation with later on.
That is, type, pressing Enter after each command:
readexact;
make
g 49/5;
make
v 50;
Define the range function as a function of the angle, t
hor(t) := (v^2*sin(2*t)+2*v*cos(t)*sqrt(v^2*sin(t)^2+20*g))/(2*g);
Now define the derivative of the range function as a function of the angle, t
dhor(t) := value d(hor(t),t);
Get a numerical approximate solution for the equation in the interval ![]()
calc roots(dhor(x), 50, [0,1.57]);
The system reports that the approximate solution is
0.76653302568272075
As an aside, this is a bit less than
.
In fact the system approximates
as:
0.78539816339744828
We will return to a general method for approximating solutions to equations such as the one above in the third Section of tis Chapter: Maximizing the Range and Chaos in Newton's Method, after we discuss Newton's Method. For now, we will leave the problem here.
Next, suppose
that instead of 10 meters, the initial height was 0 meters (launched from the
Earth's surface). In this case, we asked you to find the angle that gives the
greatest horizontal distance exactly.
In this case,
the
term disappears from the equation above, so we are left with:
|
|
But
|
|
so this becomes, simply,
|
|
And we have the trigonometric identity:
|
|
So, finally, our equation is
|
|
Or
|
|
So
![]()
You can check this in the calculator with the following steps
readexact;
make
g 49/5;
make
v 50;
Define the new range function as a function of the angle, t
hor(t) := (v^2*sin(2*t)+2*v*cos(t)*sqrt(v^2*sin(t)^2))/(2*g);
Now define the derivative of the range function as a function of the angle, t
dhor(t) := value d(hor(t),t);
Use the interval
to avoid dividing by 0
calc
roots(dhor(x), 50, [1/1000,1.57]);
The
system reports 0.78539816339734436 which is
to 12 decimal places. Not bad.
In the third
Section of this Chapter: Maximizing the Range and Chaos in Newton's Method,
we will return to the question how we may approximate the solution to the original
problem numerically by hand. But as a final topic for this section, you may
approach an equation like this by approximating
.
Now you might like to set the reading mode back to double, precision 7.
readfloat;
precision
7;
You saw that
if the initial height was 0 instead of 10 meters, it was easy to solve exactly
for
.
In that case,
.
Now, substitute that angle into your original expression for the derivative:

You do not get 0, the answer is either positive or negative.
So try a nearby
angle for which the sign of your answer is different from the sign
of your first guess. The correct answer is probably between these two. Take
the average of these, and let that be your next guess. Continue in this way
until you are satisfied that your answer is close enough.
Of course, another
way to estimate the correct answer is to fire the cannon at various angles close
to
.
This 'trial and error' method is not so much different from the previous. And
it has the advantage that it will give a clear answer to the question:
Does the projectile remain in the air for the longest amount of time when it is fired at an angle that maximizes the range?
See for yourself.