Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fire_projectile(20,0,85);
- function [d, y, t] = fire_projectile(v, Y, theta)
- %Basil Crack
- %inputs:
- % Velocity: v (m/s)
- % Launch Height: Y (m)
- % Launch Angle: theta (deg)
- %outputs:
- % Distance Travelled: d (m)
- % Maximum Height: ymax (m)
- % Time Travelled: Tend (s)
- fprintf('Initial Velocity: ',v ,' m/s \nLaunch Height: ',Y,' m \nLaunch Angle: ',theta, ' degrees\n');
- g=9.81;
- n=length(theta);
- c=1;
- while c<=n
- C=cosd(theta(c));
- S=sind(theta(c));
- Tend = ((v*S(c))/g)-(sqrt(((v*S(c)).^2)+(2*g*Y)))/(-g);
- vend = sqrt(((v*C)^2)+((v*S-g*Tend)^2));
- ymax = Y+(3*((v*S)^2)/(2*g));
- d=(vend*C/g)*((v*S)+sqrt(((v*S)^2)+(2*g*Y)));
- time = 0:0.1:Tend;
- L=length(time);
- Y=zeros(1,L);
- x=zeros(1,L);
- d=1;
- while d<=L
- x(d)=((v*C)*time(d));
- Y(d)= Y(d)+(v*S*time(d)) - ((g/2)*(time(d))^2);
- d=d+1;
- end
- title('Graph for Projectile Motion');
- xlabel('Horizontal Displacment, x (m)');
- ylabel('Vertical Displacment, y (m)');
- plot(x,Y);
- c=c+1;
- end
- title('Graph for Projectile Motion')
- xlabel('Horizontal Displacment, x (m)')
- ylabel('Vertical Displacment, y (m)')
- plot(x,Y);
- fprintf('Distance travelled = %g meters \nMaximum Height = %g meters \nTime Travelled = %g seconds\n',d,ymax,Tend);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement