find_max_min.m

来自「EMD方法的一個例子」· M 代码 · 共 35 行

M
35
字号
function [maxx,maxy,minx,miny]=find_max_min(xx,yy)
if yy(1)>yy(2)
    maxy(1,1)=yy(1);
    maxx(1,1)=xx(1);
    maxk=1;mink=0;u=-1;
else
    miny(1,1)=yy(1);
    minx(1,1)=xx(1);
    maxk=0;mink=1;u=1;
end
for n=2:1:size(yy,2)-1
   if u==1
       if yy(n)>yy(n+1)
           maxy(1,maxk+1)=yy(n);
           maxx(1,maxk+1)=xx(n);
           maxk=maxk+1;
           u=-1;
       end
   end
   if u==-1
       if yy(n)<yy(n+1)
           miny(1,mink+1)=yy(n);
           minx(1,mink+1)=xx(n);
           mink=mink+1;
           u=1;
       end
   end
end
if yy(size(yy,2)-1)>yy(size(yy,2))
    miny(1,mink+1)=yy(size(yy,2));
    minx(1,mink+1)=xx(size(yy,2));
else
    maxy(1,maxk+1)=yy(size(yy,2));
    maxx(1,maxk+1)=xx(size(yy,2));
end

⌨️ 快捷键说明

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