Find position of max value in a graph

234 views (last 30 days)
Adam Stemberger
Adam Stemberger on 5 Dec 2019
Edited: Raj on 5 Dec 2019
how do I find the position (x,y) of the maximum value on a graph?
I'm just has started with matlab so if there is an easy way to do this that I can understand I will be greatfull.
L=0.37;
A=0.008;
m=2.5;
i=2;
lambda=0.2;
r=lambda*L;
w=1800/60*2*pi;
phi=linspace(0,2*pi);
xphi=-lambda*L.*cos(phi)-L.*sqrt(1-lambda^2.*sin(phi).^2)+L+lambda*L;
figure(1)
plot(phi,xphi,'g')
ylabel('sträcka [m]')
xlabel('vinkel [grader]')
title('Position')

Answers (2)

Walter Roberson
Walter Roberson on 5 Dec 2019
[max_xphi, maxidx] = max(xphi);
phi_at_max_xphi = phi(maxidx);
The maximum is at x = phi_at_max_xphi, y = max_xphi

Raj
Raj on 5 Dec 2019
Edited: Raj on 5 Dec 2019
Just add this at the end of your code:
[Y, I]=max(xphi);
X_Max=phi(I)
Y_Max=Y
Or do you want max point markup on your plot? In that case use this:
[Y, I]=max(xphi);
X_Max=phi(I)
Y_Max=Y
hold on
scatter(X_Max,Y_Max)
textString = sprintf('(%f, %f)', X_Max, Y_Max);
text(X_Max, Y_Max,textString);

Community Treasure Hunt

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

Start Hunting!