Search
Code Directory
 ASP
 ASP.NET
 C/C++
 CFML
 CGI/PERL
 Delphi
 Development
 Flash
 HTML
 Java
 JavaScript
 Pascal
 PHP
 Python
 SQL
 Tools
 Visual Basic & VB.NET
 XML
New Code
White-label Grocery Delivery App Solution 2.0
Best Classified Script 5.1
Readymade B2B Script 1.3.1
Uber Clone with Safety Measure Addons 2.0
Equity Investing Software 1.3.2
C# QR Code Generator 2020.6.0.0
The .Net PDF Library 2020.7.1
dbExpress driver for MySQL 7.2
dbForge Documenter for Oracle 1.2
dbForge Studio for Oracle 4.2
Excel .Net Library 2020.6
fsMediaLibrary.NET 2019.11
VaxVoIP SIP Server SDK 5.2.0
Database Workbench Pro 5.7.4
dbForge Data Generator for Oracle 2.2
Top Code
phpEnter 5.1.
Single Leg MLM 1.2.1
Azizi search engine script PHP 4.1.10
Paste phpSoftPro 1.4.1
Extreme Injector 3.7
Deals and Discounts Website Script 1.0.2
Solid File System OS edition 5.1
Classified Ad Lister 1.0
Aglowsoft SQL Query Tools 8.2
Invoice Manager by PHPJabbers 3.0
ICPennyBid Penny Auction Script 4.0
PHP Review Script 1.0
ATN Resume Finder 2.0
ATN Site Builder 3.0
Availability Booking Calendar PHP 1.0
Report About Peaks picking 1.0
- required fields

Please enter text on the image
  



PICKPEAKS is similar to MATLAB's FINDPEAKS; it returns local peaks and their indices for the input X. The main differences are that PICKPEAKS
- is faster (much faster for large vectors),
- allows X to be a 2D matrix (not just a vector) and the user can specify across which dimension to look for peaks.
- picks either peaks or troughs.
- does not provide the FINDPEAKS option d-de?THRESHOLDd-deOao.
- does not provide the FINDPEAKSd-deOao options: d-de?MINPEAKHEIGHTd-deOao, d-de?NPEAKSd-deOao, d-de?SORTSTRd-deOao. Those can be achieved easily by manipulating the output. E.g. if Vo, Io are the output of PICKPEAKS, the following will yield the same result as setting d-de?MINPEAKHEIGHTd-deOao to 0.5:
i = find(Vo<0.5);
Vo(i) = [];
Io(i) = [];

The syntax is
[Vo,Io] = PICKPEAKS(X,npts,dim,mode);

Examples of usage are:
[Vo,Io] = PICKPEAKS(X);
[Vo,Io] = PICKPEAKS(X,[],[],d-deOaotroughsd-deOao);
[Vo,Io] = PICKPEAKS(X,10,[],d-deOaotroughsd-deOao); % require at least 10 samples distance between troughs.
[Vo,Io] = PICKPEAKS(X,[],2); % search for peaks across rows

The screenshot was generated by
x = randn(200,1);
tic, [val,ind] = pickpeaks(x,10); toc
tic, [pks,loc] = findpeaks(x,'minpeakdistance',10); toc
figure, plot(x), hold all, plot(ind,val,'ro', loc,pks,'k+', 'MarkerSize',10), legend('x','pickpeaks','findpeaks')

Notice another difference between FINDPEAKS and PICKPEAKS: FINDPEAKS does not qualify some peaks (e.g. 3 peaks around sample 50) because there are other peaks in their vicinity, which did not qualify either. PICKPEAKS will pick those as well.

Back