No License
[xm,ym,xx,yy]=Seekpeaks(fun,x,y,y_tol,Nsteps,varargin)
Searches the maxima of the function 'fun', which is an object such as produced by inline or by a m-function. y=fun(x,P1,P2,...), where P1, P2,...are additional parameters used in the function 'fun' and are given in 'varargin' in Seekpeaks as p1,p2,... (see example below)
Note: use 'fun' for m-function and (just) fun for inline function
The INPUT x and y (=fun(x)) are the samples used to locate the maxima and the program will refine iterativeley around the local maxima to find the exact maxima. y_tol gives the relative stop criteria for stopping the maxima search and Nsteps is a number to terminate the session in case it takes long time to find the maxima. Default are 1e-6 and 50 and will be used in case [],[] are used as arguments in the function.
The OUTPUT xm gives the positions of the maxima and ym the corresponding values (vectors). xx and yy gives the union of all values that are found during the refinement including the input sample x and y (it is useful for plot-purposes).
%%% Example:
define a function fun(x) with an additional parameter s
fun1=inline('s^2*(1./(s^2+(x-1).^2)+1./(s^2+(x-2).^2))','x','s')
% calculate a rough sample (x,y) of the function
x=linspace(0,3,20);
s=0.001; %parameter
y=fun1(x,s);
% Seek the peaks of the function fun1
[xm,ym,xx,yy]=Seekpeaks(fun1,x,y,[],[],s);
xm
plot(xx,yy,x,y,'.');
Cite As
Per Sundqvist (2024). Seekpeaks (https://www.mathworks.com/matlabcentral/fileexchange/10907-seekpeaks), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |