Indicating the maximum value

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

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

Thank you,
Also How to indicate the numerical value at the top of the curve?
Edited the code, now it does that too.
If correct, please accept the answer for reference to other users with the same problem.
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 2-D and 3-D 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!