System Design
for Optimum Performance
Optimum Launch Angle of
a Projectile for Maximum Distance
1.
Understand the purpose of the problem.
·
We
will be putting an initial velocity of 100 feet/sec on a projectile known to be
small and heavy. We want to determine
the launch angle that will give the projectile the greatest distance. This is what we are calling the optimum
launch angle in this application.
2.
Collect the known information. Realize that some of
it might be discovered later to be unnecessary.
·
Initial
velocity is 100 feet/sec.
· We know the object is small and heavy
and thus should not be slowed much by air resistance.
3.
Determine what information you must find.
· We must determine the distance the
projectile will travel as a function of the launch angle and initial
velocity. We will then search the
angles to see which gives us the most distance.
4.
Simplify the problem only enough to allow the
required information to be obtained. State any assumptions you make.
·
We
assume that air resistance is negligible.
·
We
assume that the ground is flat over the range used (we are not shooting off a
cliff).
5.
Draw a sketch and label any necessary variables.

6.
Determine which of the fundamental principles are
applicable.
·
Component
velocities found using trigonometric identities (SOH CAH TOA):
![]()
![]()
·
We
can treat the vertical flight and the horizontal flight independently.
·
Vertical
flight is given by (See Sample Problem 6-5 p. 155):

·
The
roots of the vertical flight are the times when the object is on the
ground. Once at the beginning and once
at the end. The roots are t=0 and
t=2vy/g. The second is the length of
the flight (time to hitting ground)

·
The
horizontal trajectory is simply the initial horizontal velocity times time
(assuming no air resistance):
![]()
·
The
total distance traveled is
![]()
7.
Think about your proposed solution approach in
general and consider other approaches before proceeding with the details.
·
Since
we have a mathematical model for the system based on our initial assumptions,
we could mathematically optimize using calculus.
·
We
could solve the equations on a spreadsheet and search for the optimum value.
8.
Label each step of the solution process.
·
Compute
the component velocities from angle and initial velocity
·
Determine
time of flight tg
·
Distance
traveled is vx times tg
·
Search
over a range of angles for the one producing the maximum distance
9.
Solve the problem. If you are solving the problem
with a program:
·
State the problem concisely.
Develop a
MATLAB function, which determines X as a function of angle and initial
velocity v using the equations above.
Find the angle yielding the maximum distance via a search.
· Specify the
data to be used by the program. This is the “input”.
v=100 feet/sec.
Reasonable angles are in the range 0
to 90 degrees.
·
Specify the information to be generated by the
program. This is the “output”.
The distance X for each angle.
·
Work through the solution steps by hand or with a
calculator; use a simpler data set if necessary.
Angle of 0 degrees or 90 degrees should yield 0 distance.
Must be nonzero in between.
·
Write and run the program.
function X=projdist(angd,v)
%
% X=projdist(angd,v)
%
% Computes the distance a projectile
will fly across flat ground
% with no air resistance, given the
initial velocity and angle of
% launch.
%
% X
- output distance (same dimensions as angd) (feet)
% angd - input angle or array of angles (degrees)
% v -
input scalar initial velovity (feet/sec)
%
% Author: Dr. Russell C. Hardie
% Date: 1/15/01
g=32.17;
% acceleration due to gravity 32.17 ft/sec^2
% create x-y velocities for each angle
entered
angr=deg2rad(angd);
vx=v*cos(angr);
vy=v*sin(angr);
% Find the time we hit ground
tg=2*vy/g;
% horizontal path (distance is
velocity x time)
X=vx.*tg; % total distance traveled
·
Check the output of the program with your hand
solution.
>> X=projdist(0,100)
X=0
>> X=projdist(90,100)
X=3.8270e-014
>> X=projdist(30,100)
X=270.6329
Hand calculated value checks out!
·
Run the program with your input data and perform a
reality check on the output.
>> A=[0:1:90];
>> X=projdist(A,100);
>> plot(A,X)
>> xlabel('Angle (degrees) ');
>> ylabel('Distance Traveled (feet) ');
>> title('Projectile Analysis');
>> [maxX,n]=max(X);
>> A(n)
·
If the program will be used as a general tool in the
future, test it by running it for a range of reasonable data values; perform a
reality check on the results.
10.
Present your results.
Well, what did you observe?
Do not state the answer with any greater precision
than is justified by any of the following:
·
The precision of the given information.
·
The simplifying assumptions.
·
The requirements of the problem.
The angles were only searched by integers, so the maximum
precision of the optimum angle is to the nearest integer. The maximum distance traveled should not be
stated with an accuracy greater than that of the input velocity or g.