maxmin1.m
来自「HILBERT-HUANG TANSFORM 进行曲线拟和时求信号极大极小值的两」· M 代码 · 共 39 行
M
39 行
function [max_x min_x max_I min_I]=maxmin1(x)
%求数列的极大极小值及其位置
n=length(x);
if n<=2
error;
end
max_I=find(diff(sign(diff(x)))==-2)+1 ; %局部极大值坐标点
max_x=x(find(diff(sign(diff(x)))==-2)+1); %局部极大值
min_I=find(diff(sign(diff(x)))==2)+1 ; %局部极小值
min_x=x(find(diff(sign(diff(x)))==2)+1) ; %局部极小值坐标点
output=[];
%第二种方法,实行比较慢
%function [max_x min_x max_I min_I]=maxmin2(x)
%求数列的极大极小值及其位置
%N=length(x);
%if N<=2
% error;
%end
% max_x=zeros(N);
% min_x=zeros(N);
%用差分法求信号极大极小值
%for i=2:N-1
% if (x(i)-x(i-1))*(x(i)-x(i+1))>0
% if (x(i)>x(i-1))&(x(i)>x(i+1))
% max_x(i)=x(i); %局部极大值
% else
% min_x(i)=x(i); %局部极小值
%end
%end
%end
%[max_I]=find(max_x);
%[min_I]=find(min_x);
%max_I=max_I';
%min_I=min_I';
%max_x=x(max_I);
%min_x=x(min_I);
%output=[];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?