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

📄 fextrema.m

📁 这是一个关于hht变换很有用的工具箱
💻 M
字号:
function [all_x, all_y] = fextrema(data_x, data_y)
 
% The function FEXTREMA returns all local extrema and their coordinates in the order found.
% 
% Calling sequence-
% [all_x, all_y] = fextrema(data_x, data_y)
%
% Input-
%	data_x	- input vector of coordinates
%	data_y	- input vector of values
% Output-
%	all_x	- vector that specifies the coordinates of max and min
%		    values in the order found
%	all_y	- corresponding max and min values
 
% Karin Blank (NASA GSFC)	September 29, 2003  Initial

%----- Initialize values
all_x = [];
all_y = [];
Ymax = 0;
Ymin = 0;
Xmax = 0;
Xmin = 0;
flagmax = 0;
flagmin = 0;

for i=2:length(data_y)-1;
    %----- Find local maximum
    if ((data_y(i) > data_y(i-1)) & (flagmax == 0))
        flagmax = 1;
        
        Xmax = data_x(i);
        Ymax = data_y(i);
    end
    
    if((data_y(i) < data_y(i+1)) & (flagmax == 1))
        flagmax = 0;
    end
    
    if((data_y(i) > data_y(i+1)) & (flagmax == 1))
        flagmax = 0;
         
        all_y = [all_y, Ymax];
        
        all_x = [all_x, Xmax];
    end
    
    %----- Find local minimum
    if((data_y(i) < data_y(i-1)) & (flagmin == 0))
        flagmin = 1;
        Xmin = data_x(i);
        Ymin = data_y(i);
    end
    
    if((data_y(i) > data_y(i+1)) & (flagmin == 1))
        flagmin = 0;
    end
    
    if((data_y(i) < data_y(i+1)) & (flagmin == 1))
        flagmin = 0;
       
        all_x = [all_x, Xmin];
        all_y = [all_y, Ymin];
    end
    
end

⌨️ 快捷键说明

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