2024-08-26 13:54:13 +02:00
|
|
|
def find_maxima(x):
|
|
|
|
"""Find local maxima of x.
|
|
|
|
|
|
|
|
Input arguments:
|
|
|
|
x -- 1D list of real numbers
|
|
|
|
|
|
|
|
Output:
|
|
|
|
idx -- list of indices of the local maxima in x
|
|
|
|
"""
|
2024-08-27 15:10:28 +02:00
|
|
|
|
|
|
|
local_maxima = []
|
|
|
|
|
|
|
|
for index, value in enumerate(x):
|
|
|
|
if index <= len(x)-2:
|
|
|
|
if x[index] > x[index+1] and x[index] > x[index-1]:
|
|
|
|
local_maxima.append(index)
|
|
|
|
|
|
|
|
if len(local_maxima) > 0:
|
|
|
|
return local_maxima
|
|
|
|
|