Highlight y-max

20 views (last 30 days)
Benjamin Nienhouse
Benjamin Nienhouse on 18 Nov 2020
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
Benjamin Nienhouse
Benjamin Nienhouse on 19 Nov 2020
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

Find more on Discrete Data Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!