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 (firstname.lastname@example.org)
Version 1.1 corrects a bug that caused a "Warning: Single input behavior is obsolete..." message.
No, the findpeaks function is my own function, and it is internal to Idpeaks. I do not have the Signal Processing Toolbox.
Just wondering whether the findpeaks function referenced is the one in MATLAB's Signal Processing Toolbox, or another function with the same name from the FEX.
If the first, then the SPT should be listed as a required product.
Fixes bug that produced warning message.