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

📄 localmax.m

📁 一种新的时频分析方法的matlab源程序。
💻 M
字号:
function [local_max_x,local_max_y,num_extrema] = localmax(data_x, data_y)
 
% The function LOCALMAX returns local max point, their coordinates and the number of values.
% 
% Note: in the code initially the local variable flag = 0.
% It changes its value: flag = 0 when a slope is rising,
% and flag = 1 when a slope is descending.
%
% Calling sequence-
% [local_max_x,local_max_y,num_extrema] = localmax(data_x, data_y)
%
% Input-
%	data_x		- input vector of coordinates
%	data_y		- input vector of corresponding values
% Output-
%	local_max_x	- vector that specifies the coordinates 
%			    of max values in the order found
%	local_max_y	- corresponding max values
%	num_extrema	- number of max values found
 
% Jelena Marshak (NASA GSFC)    May 8, 2004 Modified
%          (added variable flag initialization to 0)

%----- Initialize values
local_max_y = [];
local_max_x = [];
flag=0;
num_extrema = 0;
Y = [];
X = [];

%----- Find the extrema values
for i=2:length(data_y)-1;
    if((data_y(i) == data_y(i+1)) & (flag == 1))
            Y = [Y, data_y(i)];
            X = [X, data_x(i)];
    end
        
    if((data_y(i) > data_y(i-1)) & (flag == 0)  & ~(data_y(i) == data_y(i-1)))
            flag = 1;
            Y = data_y(i);
            X = data_x(i);
    end
        
    if((data_y(i) < data_y(i+1)) & (flag == 1))
            flag = 0;      
            Y = [];
            X = [];
    end
        
    if((data_y(i) > data_y(i+1) & (flag == 1)))
            flag = 0;
            local_max_y = [local_max_y, Y];
            local_max_x = [local_max_x, X];
            Y = [];
            X = [];
            num_extrema = num_extrema+1;
     end
    
end


⌨️ 快捷键说明

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