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

📄 mm_wt.m

📁 在matlab的小波分析中标,设计一个包含若干不连续点的一维信号
💻 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 + -