フィルターのクリア

Finding the peak position of a plot?

3 ビュー (過去 30 日間)
Niranjan
Niranjan 2011 年 2 月 7 日
Hi,can anyone tell me how to find the peak of a plot . I have the code plot(sum(fill>0)); Now how to find the peak value of the plot??
  2 件のコメント
Sean de Wolski
Sean de Wolski 2011 年 2 月 7 日
Don't overwrite the stock
fill
function
Andrew Newell
Andrew Newell 2011 年 2 月 7 日
In other words, choose a different name for your variable FILL because it is the name of a MATLAB plot function.

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

採用された回答

Andrew Newell
Andrew Newell 2011 年 2 月 7 日
If sum(fill>0) is the thing you want the maximum of, you could use
[C,I] = max(sum(fill>0));
The C give the maximum value (or values, if you have a matrix) and I the position(s).
  3 件のコメント
Walter Roberson
Walter Roberson 2011 年 2 月 10 日
In your original problem statement, you asked to find the "peak value" of the plot, but now you are asking to find the "maximum position". The peak _value_ would be the maximum height, whereas the maximum position would be the x location at which it occurs.
Andrew's answer covers both possibilities: his C would be the height and his I would be the x value.
If all you need is the height, then you can simplify his code by a tiny bit,
C = max(sum(fill>0));
This really is about as fast as you are going to be able to get without resorting to mex, and since you only have about 120 columns I'm not sure you would be able to do any faster in mex (though you could do a mex version that used less memory.)
Niranjan
Niranjan 2011 年 2 月 11 日
Thanks :)

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by