📄 mm_wt.m
字号:
function maxmap = MM_WT(wt,windowSize,par)
% 计算模极大点,小波变换值为局部极大标记为1,小波变换值为局部极小则标记为-1
if nargin<3,
par = 1000;
end % if
sz = size(wt);
scale = sz(1);
n = sz(2);
maxmap = zeros(sz);
t = 1:n;
% windowSize = 5;
tplus(1,:) = [t(n) t(1:(n-1))];
for i=2:windowSize
tplus(i,:) = [tplus(i-1,n) tplus(i-1,1:(n-1))];
end
tminus(1,:) = [ t(2:n) t(1) ];
for i=2:windowSize
tminus(i,:) = [tminus(i-1,2:n) tminus(i-1,1)];
end
abs_wt = abs(wt);
for k=1:scale
if(k==1)
localmax = ones(1,n);
for i=1:windowSize
localmax = localmax & abs_wt(k,t) > abs_wt(k,tplus(i,:)) & abs_wt(k,t) > abs_wt(k,tminus(i,:)) ;
end
localmax(1:windowSize) = 0;
localmax(n-windowSize+1:n) = 0;
else
localmax = abs_wt(k,t) > abs_wt(k,tplus(1,:)) & abs_wt(k,t) > abs_wt(k,tminus(1,:)) ;
end
y = localmax(t) .* abs_wt(k,:);
maxy = max(y);
maxmap(k,t) = (y >= maxy/par);
sign = (wt(k,t)-wt(k,tplus(1,:))) >0;
maxmap(k,t) = maxmap(k,t).*(2*sign-1);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -