finding intercept point in the plot
2 views (last 30 days)
Show older comments
FRANCISCO CORTEZ
on 8 Apr 2021
Answered: Image Analyst
on 22 May 2022
close all
theta = 50;
v0=200;
slope= 0.1;
vx=v0*cosd(theta); %horizontal component of velocity vector
vy=v0*sind(theta); %vertical component of velocity vector
g=9.807;
tf=2*vy/g; %total flight time
t=linspace(0,tf,150);
for r=1:length(t)
x(r)=vx*t(r); %horizontal postion
A(r)=vy*t(r)-0.5*g*t(r)^2; %vertical postion of particle
R(r)=x(r)*slope; %vertical postion of terrain
end
figure(1)
plot(x,A,'b')
hold on
plot(x,R,'m')
title('Altitude VS Range')
xlabel('Range')
ylabel('Altitude')
legend({'Range','Line of Terrain'},'Location','southwest')
grid on
hold on
0 Comments
Accepted Answer
Star Strider
on 8 Apr 2021
Try this:
theta = 50;
v0=200;
slope= 0.1;
vx=v0*cosd(theta); %horizontal component of velocity vector
vy=v0*sind(theta); %vertical component of velocity vector
g=9.807;
tf=2*vy/g; %total flight time
t=linspace(0,tf,150);
for r=1:length(t)
x(r)=vx*t(r); %horizontal postion
A(r)=vy*t(r)-0.5*g*t(r)^2; %vertical postion of particle
R(r)=x(r)*slope; %vertical postion of terrain
end
[Amax,idx] = max(A);
x_int = interp1(A(idx:end)-R(idx:end), x(idx:end), 0);
y_int = interp1(x, R, x_int);
figure(1)
plot(x,A,'b')
hold on
plot(x,R,'m')
plot(x_int, y_int, 'rs')
title('Altitude VS Range')
xlabel('Range')
ylabel('Altitude')
legend({'Range','Line of Terrain','Intercept'},'Location','southwest')
grid on
hold off
.
16 Comments
More Answers (2)
Image Analyst
on 22 May 2022
See attached demo that computes just about everything you could ever want to know about a projectile.
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!