MATLAB: Finding peaks in data based on certain threshold

finding peaks above certain values

Hi I have an array [V Data] (Attached data file).The plot is shown below.
I want to detect the # of peaks (3 in this case) which are above a certain threshold (value is = 0.1) I also want to find the points where it crosses the threshold and extract respective values from V
Thanks SATEJ

Best Answer

Once I had to write a function for this type of problem in on of my projects. Seeing your question here, I have uploaded that file in file exchange:
Just use your +/-TestV as x, Data as y in the function, and threshold as 0.1. Ignore the outputs for minima.
By the way, if you have a closer look at your figure, there are two small peaks in 'left side', one big peak in 'middle', and one smaller peak at the 'right'. So, there will be 4 peaks in total instead of 3. Plot this data in Matlab, and enlarge the figure to verify this observation.
I guess, if you use the linked function findpeaks, the result will be 4 as well. You could also see the x coordinate at which peaks occur, and also the peak values at those points.