Maximizing the Range of a Ballistic Projectile
Now
we return to the problem posed in Section 1: Ballistics, finding
the maximum range of the ballistic trajectory. Given that the object was launched
at altitude of 10 meters with speed
meters/sec, and writing the
acceleration due to gravity as
|
|
we asked which angle
will cause our projectile to
travel the greatest horizontal distance. For that, we observed that
the correct angle would be that for which
![]()
You
saw that such a
will be a solution to the equation:
|
|
Exploration: Maximizing the range with Newton's method
Suppose
we approximate the solution to this equation using Newton's method. You should
be on the Solving Equations with Newton's Method page. You will find
a control panel:

with the equation in x set to
.
In the future, you may enter any differentiable function of x, number of steps,
initial guess and so on to do Newton's method here.
Where
did the equation
come from? If you go to the symbolic calculator you will find the following
script in the pink script window:
readexact;
make g 49/5;
make v 50;
make alt 10;
'Define the range function as a function of the angle,
x'
hor(x)
:= (v^2*sin(2*x)+2*v*cos(x)*sqrt(v^2*sin(x)^2+2*alt*g))/(2*g);
'Now define the derivative of the range function as a
function of the angle, x'
dhor(x)
:= value d(hor(x),x);
readfloat;
precision 15;
We
made that definition also in the book script, so it was defined when the book
opened. But we placed the script in the script window also so that you can
later come back and change the values of speed v and altitude alt
in the lines:
make
v 50;
make alt 10;
Then you can remake the definition with these parameter values.
To do that, just press the
button.
In
any case, the panel is already set up to use Newton's Method to approximate
the maximum range when the speed v is 50 meters and the altitude h
is 10 meters. It will do 20 steps, starting with the first guess:
.
All of that information is in the control panel.
Now, press the
button and you will see:

Starting
at
, the system "converged" to the solution angle in radians 0.766533025682704
(to 15 place precision) after just 5 steps. This is roughly 43.919107229012077
degrees. The yellow graph on the left "flatlines" very quickly as
the sequence converges. So the answer for these parameters is less than 45
degrees (0.785398163397448 radians). If you change the altitude and
velocity, you will of course get different answers. There is nothing in Newton's
Method that will tell us that for sufficiently fast projectiles and positive
altitude, it is always less than 45 degrees. We will come to that question
with a more theoretical approach in a moment.
Compare
this to the answer we obtained earlier in the Ballistics microworld,
where we simply asked the symbolic calculator for a solution:
calc roots(dhor(x), 50, [0,1.57]);
The
calculator returned 0.76653302568272075 radians or 43.919107229013036 degrees.
These answers agree to 13 decimal places. In the calculator, if you type
calc hor(0.76653302);
You will see: 264.91336705606466. Now try it with some neighboring angles.
If
you return to the Ballistics Lab and use this angle (get the scroll bar menu,
Settings to set the angle to 43.9191072)
you will see 264.9133670 meters. Try some adjacent angles.
Now,
you may see this in a more dramatic way using the original Newton's Method
page. Just press the
button to go to that page. It has a different control panel.

Replace
x^2-200 with dhor(x), and replace the initial x = 11
with x = 1. So the control panel should now look like:

And you are ready to go. Press the Graph f(x) button and you will see:

The
vertical red line and the message in the MathEdit shows
.
Not very close to 0. Now press the Next x button a few times and you
will see the convergence to 0.766533025682704 radians at the fifth
step, just as before.
Now,
we would like to answer the question whether for positive altitudes, the maximizing
angle will always be less than 45 degrees (0.785398163397448 radians).
The solution using Newton's Method above required that the altitude h =
10 and the speed V = 50 be fixed in advance. Suppose we want an "engineering"
solution to the problem in which we seek a solution in terms of V and
h. Here, we want to leave V and h variable, but would
like an approximate angle for maximum range in terms of V and h
. We also would like conditions on V and h that guarantee that
this approximation is as close as we like to the actual value. We use differential
approximation to solve this problem.
First,
we make an observation about the relationship between the altitude h and the
velocity V for vertical projectiles. This will help us decide how to approximate
the answer.
Question 1: Show that if a projectile, fired vertically
from ground level is to attain a height of
meters, it must be launched with velocity
at least
|
|
Solution: In this case, the height attained is:
|
|
from Galileo's formula, where
is the initial velocity. The maximum height is attained when
and so this height is
|
|
Solving for
in terms of
we see that
|
|
End of Solution
This consequence
of conservation of energy tells us that the initial altitude h becomes
less and less important as we choose V so large that
is very small.
Now our earlier formula
for the time the projectile is in the air given angle
(derived in Section 1: Ballistics) says
|
|
Notice
that
|
|
To see that, we consider the function
|
|
Certainly,
![]()
Maximizing the range using differential approximation
By the method of differential approximation,
if
is small, then (considering
constant)
![]()
Now
|
|
and so
|
|
Now
let
|
|
Substituting, we
see that
|
|
Thus,
we may write an approximate formula for the time the object
will remain in the air:
|
|
Our
earlier formula for the time the projectile is in the air is
|
|
Now we just saw that
|
|
so
|
|
|
|
|
|
|
|
And we know from energy considerations that it is reasonable to make this assumption, because it means that the initial altitude h is small compared to the height to which a vertical projectile would rise from the ground with initial velocity V.
Of
course,
is not exactly equal to
,
so we are no longer even trying to find an exact solution. But the
horizontal distance the object
will travel over this interval of time is
|
|
and this may be simplified to
|
|
Differentiating
this, we see that the derivative will be
|
|
Now we would like
to solve the (simpler) equation
|
|
for
and to come to some conclusions about the solution. First of all, we see that
|
|
entails
|
|
This
is a quartic equation in
.
But since it is also quadratic in
you may first solve for
then take the square root. Next take the arcsine of the answer. This will
give an angle that we think maximizes the distance under these circumstances.
Remember our initial assumption that
|
|
As
,
and
this means that if
is the height to which a projectile fired vertically will rise from the ground
then
|
|
Now,
in the equation
|
|
let
.
Then this becomes the equation
|
|
or
|
|
We may solve this quadratic equation to get:
|
|
Since
is very small by
assumption, we may also assume that
![]()
so that we may take the square root. There are two answers then.
|
|
and
|
|
The angles
will be
|
|
and

Now
when
is small
(or
)
The
other answer is very close to 0, and does not represent a solution. If you
approximate this numerically with, say,
we see that
is approximately equal to 0.780545641194 radians. So the correct angle in
this case is a little
smaller than
radians (or
). The advantage of this approach is that, given altitude h, we can conclude
that for V large enough, the maximizing angle is less than (but as close as
we like to)
.
This
is not bad at all, but it depends, of course, on the circumstance that we
can solve this (quartic) equation exactly.