% Modified for problem-2 HW-4 (Problem Chapter 3, Version 09)
% Parabolic flight of a projectile
%
% cleanup memory
clear all;
% clear screen
clc;
% gravitational acceleration
g = 9.81; % m/s^2
% Give input pitch velocity in mph
Vo = input (' Enter pitch velocity in mph: '); % m/s
Vo = Vo*0.44704; %convert mph to m/s
fprintf ('\n \t theta, deg \t maximum range, m ');
fprintf ('\n\t ______________________________________________');
% let's try a range of theta
for theta = 10: 10: 80
% the projectile leaves from the ground
x0 = 0;
y0 = 4; %in ft
y0 = y0/3.28; % convert to m;
% velocity components
% Vox = Vo cos(theta)
Vox = Vo * cosd(theta); % m/s
% Voy = Vo sin(theta)
Voy = Vo * sind(theta); % m/s
% print headers
t1 = 0;
t2 = Voy/((1/2)*g);
t_flight = max(t1, t2);
% use linspace this time
t = linspace (0, t_flight, 21)';
% x(t) = x0 + Vox t
x = x0 + Vox.*t;
% % y(t) = y0 + Voy t - (1/2) g t^2
% y = y0 + Voy.*t - (1/2)*g*t.^2;
y = y0 + Voy.*t - (1/2).*g*t.^2;
%The distance r to the projectile at time t can be calculated by
% r(t) = sqrt(x(t)^2 +y(t)^2)
r = sqrt(x.^2 + y.^2);
Results = [t, x, y, r];
% find maximum and corresponding x and t
[hmax, imax] = max(y);
[rmax, imax] = max(r);
% fprintf (' \n\t The maximum distance of %7.2f m ', rmax);
% fprintf ('\n \t\t is reached after %3i s ', t(imax));
% fprintf ('\n\t ______________________________________________ \n');
fprintf ('\n \t %7.2f \t\t %7.2f ', theta,rmax');
% plots
% make a plot of height (t,y)
subplot (2,2,1), plot (t,y);
title('Fig.1: y variation with t')
xlabel('t, s')
ylabel('y, m')
hold on
% make a plot (x,y) of the trajectory
subplot (2,2,2), plot (x,y);
title('Fig.2: y variation with x')
xlabel('x, m')
ylabel('y, m')
hold on
% make a plot of reach (t,r)
subplot (2,2,3), plot (t, r);
title('Fig.3: r variation with t')
xlabel('t, s')
ylabel('r, m')
hold on
pause (0.5)
end
fprintf ('\n\t ______________________________________________ \n');
hold off