IDpeak: Peak Identifier Function

Function to identify peaks in a signal based on a database of known peaks.


Updated 23 Jun 2011

View License

Finds peaks in the signal "DataMatrix" (with x-values in column 1 and y-values in column 2), according to the peak detection parameters AmpT, SlopeT, sw, fw (see the "findpeaks" function below), then compares the found peak positions (maximum x-values) to a database of known peaks,in the form of an array of known peak maximum positions (Positions) and matching cell array of names (Names). If the position of a found peak in the signal is closer to one of the known peaks by less than the specified maximun error (maxerror), that peak is considered a match and its peak position, name, error, and amplitude are entered into the output cell array "IdentifiedPeaks". The full list of detected peaks, indentified or not, is returned in AllPeaks. Use "cell2mat" to access numeric elements of IdentifiedPeaks, e.g.cell2mat(IdentifiedPeaks(2,1)) returns the position of the first indentified peak, cell2mat(IdentifiedPeaks(2,2)) returns its name, etc. For testing purposes, the ZIP file includes an experimentally measured high-resolution atomic spectrum and a DataTable of peaks for Copper.
Version 1.1, June 23, 2011, by Tom O'Haver (

Cite As

Tom O'Haver (2023). IDpeak: Peak Identifier Function (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: Peak finding and measurement, 2019

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Fixes bug that produced warning message.