How can i know the abscissa of the maximum of a curve ?

2 次查看(过去 30 天)
Hi
I have a curve Amplitude=f(frequency) and i want to know the abscissa of the maximum.
Please help me.
  2 个评论
Adam
Adam 2016-10-20
Isn't the abscissa just the y-axis value of your function - i.e. Amplitude?
So just run your function and call
max( Amplitiude )
on the result.
John D'Errico
John D'Errico 2016-10-20
Adam - Sorry, but no. Back to grade school for this.
https://en.wikipedia.org/wiki/Abscissa
The y axis is the ordinate, not the abscissa.

请先登录,再进行评论。

回答(1 个)

John D'Errico
John D'Errico 2016-10-20
So you have a function of a single variable, and you need to know the location of the min.
If you have the function itself, then use fminbnd.
If you have only data points, thus (x,y) pairs, then use min. It returns the index of the minimum value(look at the second output argument), then use that index on the vector of x values.
If you want to find a minimum on data points, but you need an interpolated minimum, then you can use fminbnd on a spline fit. Don't expect it to be very good though.

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by