Eric Weeks
- personal pages - software## Software to find local minima & maxima in a time series |
weeks@physics.emory.edu |

This software examines data to find local minima & maxima. The first version of this was written by Tom Solomon, and I have added on a few simple features. Click here for an example of how I have used this program.

Click here to download software. To compile, use "cc -o minmax minmax.c -lm".

To use the software, you can either specify the filename or pipe the data into the program:

or

There are several options. -h lists all the options with a brief comment to remind you what they do.

The basic alogorithm is that the program checks the local slope; if it changes sign, print out the extremum point where the sign change occurs. A different way of putting it is that it examines a point and its two neighbors; if the point is larger than both neighbors then it is a local maximum, and if smaller than both neighbors it is a local minimum.

The more complicated algorithm is activated by using the -w option. Specifying -w 4 requires that a point must be larger than the four points before it, and the 4 points after it, in order to count as a maximum (likewise for a minimum).

**NOTE:** There are several undocumented features.
You may examine the source code if you want to figure out what they
do. Brief hints of what they do: -W # sets a larger window size
(if the difference between the largest and smallest values within
the small window are less than 0.02, use this larger window size
instead for that point); -t # changes the value 0.02 used to switch
to the larger window size; -n adds 1% noise to the data to
help create a local peak in what might otherwise be a plateau;
-f # takes a moving range of data and averages it, replacing
the middle point in the range with the average -- this is
effectively a low-pass filter;
-d turns on some debug features which I am not completely
sure of. Despite this description of these features, consider them
"undocumented" unless you examine the source code yourself to
determine their usefulness!

If you have questions, please send me email; email address below.

- Eric's Home Page
- Information on Software -- Other programs available like this one
- Pictures I've Made
- My Research
- If you have any questions, send me email; email address below.

Current address:

Eric R. Weeks

weeks@physics.emory.edu

Department of Physics

Emory University

Atlanta, GA 30322-2430