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

📄 keepnlarge.m

📁 包含多小波技术的大多数事例程序
💻 M
字号:
function transfcomp=keepnlarge(transf,nbigc)
%transfcomp=keepnlarge(transf,nbigc)
%
%  This function keeps given number of largest elements in an input array and
%  sets the rest of the array to zero. It can be used as the simplest
%  compression tool and for comparison of performance of different transforms. 
%  For comparison of several scalar and multiwavelet transforms using this 
%  function see [SW1]. 
%
%  Input:                                                 
%    nbigc       integer, number of largest coefficients to keep
%    transf      m by n real array, transform of a signal 
%
%  Output:   
%    transfcomp  m by n real array, nbigc largest coefficients are the same
%                as in transf and the rest is zero
%
%  Example of Usage:
%   transfcomp=keepnlarge(transf,1024) 

% Author: Vasily Strela
% COPYRIGHT 1997,98 by Vasily Strela


[n1,n2]=size(transf);
N=n1*n2;
transfcomp=zeros(n1,n2);
lon=zeros(1,N);

if n1>n2
  for i=1:n2
    lon((i-1)*n1+1:i*n1)=abs(transf(:,i));
  end
  [slon,ind]=sort(lon);
  for i=1:nbigc
    a=rem(ind(N-i+1)-1,n1);
    b=ceil(ind(N-i+1)/n1);
    transfcomp(a+1,b)=transf(a+1,b);
  end
else
  for i=1:n1
    lon((i-1)*n2+1:i*n2)=abs(transf(i,:));
  end
  [slon,ind]=sort(lon);
  for i=1:nbigc
    a=rem(ind(N-i+1)-1,n2);
    b=ceil(ind(N-i+1)/n2);
    transfcomp(b,a+1)=transf(b,a+1);
  end  
end

⌨️ 快捷键说明

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