⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 turningpoint.m

📁 JLAB is a set of Matlab functions I have written or co-written over the past fifteen years for the p
💻 M
字号:
function[bool]=turningpoint(x)%TURNINGPOINT  True for turning points, i.e. local extrema, along rows.%%   BOOL=TURNINGPOINT(X) where X is a column vector returns BOOL, a%   vector of the same size as X containing zeros and ones.  BOOL%   is equal to one if the corresponding element of X is a local%   maximum or minimum, and zero otherwise.%%   X may also be an array of any dimensionality, in which case %   local maxima and minima are found with respect to differentiation %   along the first dimension, i.e. along rows.%%   Note that if any two adjacent points are identical, TURNINGPOINT%   adds a very small amount of numerical noise to one of the points%   in order to make a choise about which is larger.%%   See also CROSSINGS.%%   'turningpoint --t' runs a test.%%   Usage: bool=turningpoint(x);%   __________________________________________________________________%   This is part of JLAB --- type 'help jlab' for more information%   (C) 2006 J.M. Lilly --- type 'help jlab_license' for details if strcmp(x, '--t')    turningpoint_test,returnend%Add very small amout of noise to keep identical points from occurringindex=find(x==vshift(x,-1,1));if ~isempty(index)    x(index)=x(index)+randn(size(x(index)))*1e-10;endboolmin=~(x>vshift(x,1,1)|x>vshift(x,-1,1));boolmax=x>vshift(x,1,1)&x>vshift(x,-1,1);bool=boolmin|boolmax;bool(1,:)=0;bool(end,:)=0;function[]=turningpoint_testx=[ 4 5 6 7 6 5 6]';b=[ 0 0 0 1 0 1 0]';reporttest('TURNINGPOINT',aresame(b,turningpoint(x)))x= [ 4 5 6 7 7 6 5 6]';b1=[ 0 0 0 1 0 0 1 0]';b2=[ 0 0 0 0 1 0 1 0]';y1=turningpoint(x);reporttest('TURNINGPOINT with repeated entry',aresame(y1,b1) || aresame(y1,b2))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -