?? localmax.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 + -