Find position of max value in a graph

174 ビュー (過去 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
  1 件のコメント
Adam Stemberger
Adam Stemberger 2019 年 12 月 5 日
King man :)

サインインしてコメントする。


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);

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by