Indicating the maximum value

15 views (last 30 days)
Amy Topaz
Amy Topaz on 14 Apr 2022
Commented: Steven Lord on 14 Apr 2022
How to indicate the maximum value on the given curve
z1 = [0.00008 0.009]';
a11 = -1:0.001:1;
k1 = atan(((0.01/2 + a11)./z1)) + atan((0.01/2 - a11)./z1);
plot(a11,k1(1,:),'-k',a11,k1(2,:),'-r')

Accepted Answer

Davide Masiello
Davide Masiello on 14 Apr 2022
Edited: Davide Masiello on 14 Apr 2022
z1 = [0.00008 0.009]';
a11 = -1:0.001:1;
k1 = atan(((0.01/2 + a11)./z1)) + atan((0.01/2 - a11)./z1);
[~,idx_k1] = max(k1,[],2);
plot(a11,k1(1,:),'-k',a11,k1(2,:),'-r',a11(idx_k1(1)),k1(1,idx_k1(1)),'*b',a11(idx_k1(2)),k1(2,idx_k1(2)),'*b')
text(a11(idx_k1(1))+0.05,k1(1,idx_k1(1)),num2str(k1(1,idx_k1(1))))
text(a11(idx_k1(2))+0.05,k1(2,idx_k1(2)),num2str(k1(2,idx_k1(2))))
  4 Comments
Steven Lord
Steven Lord on 14 Apr 2022
Another way to plot a marker at the maximum point, assuming you don't want any other markers, is to use the MarkerIndices property of the line.
x = 0:180;
s = sind(x);
[~, location] = max(s);
plot(x, s, 'o-', 'MarkerIndices', location, ...
'MarkerFaceColor', 'r') % Make the marker stand out in red

Sign in to comment.

More Answers (0)

Categories

Find more on Formatting and Annotation 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!