Find position of max value in a graph

조회 수: 35 (최근 30일)
Adam Stemberger
Adam Stemberger 2019년 12월 5일
편집: Raj 2019년 12월 5일
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')

답변 (2개)

Walter Roberson
Walter Roberson 2019년 12월 5일
[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 2019년 12월 5일
편집: Raj 2019년 12월 5일
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);

카테고리

Help CenterFile Exchange에서 Graphics Performance에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by