Highlight y-max
33 views (last 30 days)
Show older comments
Benjamin Nienhouse
on 18 Nov 2020
Commented: Benjamin Nienhouse
on 20 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
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
Adam Danz
on 19 Nov 2020
Glad I could help.
Check out this answer that reviews some of the animation techniques.
More Answers (0)
See Also
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!