So I'm wondering how I would highlight the y-max for my "Original Data" plot. Below is my code but I only want to highlight the y-max for the "Original data" plot.
Thanks,
Ben
h = input("Initial height (m): "); %Initial height
angle = input("Initial Angle of elavation: "); %Degrees
v = input("Initial velocity (m/s): "); %M/S
g=-9.81; %M/S^2
angles = 0:10:180;
heights = 0:10:100;
velocity = 10:10:100;
figure
[x_val,y_val] = Arc(g,h,angle,v);
plot(x_val,y_val);
hold on;
xlabel 'x (m)'
ylabel 'y (m)'
title 'Original Data'
figure
for a = angles
[x_val,y_val] = Arc(g,h,a,v);
plot(x_val,y_val);
hold on;
end
xlabel 'x (m)'
ylabel 'y (m)'
title 'Angles 0-180'
figure
for hi = heights
[x_val,y_val] = Arc(g,hi,angle,v);
plot(x_val,y_val);
hold on;
end
xlabel 'x (m)'
ylabel 'y (m)'
title 'Height'
figure
for vel = velocity
[x_val,y_val] = Arc(g,h,angle,vel);
plot(x_val,y_val);
hold on;
end
xlabel 'x (m)'
ylabel 'y (m)'
title 'Velocity'
function [x_val,y_val] = Arc(g,h,angle,v)
y = h;
t = 0;
x_val = [];
y_val = [];
while y >= 0
y=.5*g*t.^2+v*sind(angle)*t+h;
x=v*cosd(angle)*t;
t = t + 0.01;
x_val = [x_val,x];
y_val = [y_val,y];
end
end

 Accepted Answer

Adam Danz
Adam Danz on 18 Nov 2020
plot(x_val,y_val);
hold on;
[~,idx] = max(y_val);
plot(x_val(idx),y_val(idx),'r*')
text(x_val(idx),y_val(idx),'max','VerticalAlignment','Bottom','HorizontalAlignment','Left','FontSize',8)
xlabel 'x (m)'
ylabel 'y (m)'
title 'Original Data'

3 Comments

thanks bro
Hey, if you have the time, I'm wondering how I can "slow down" the "original data" graph so it plots it like a movie (you can see it plotting on the screen) instead of just instantly plotting it.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!