wthresh.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:1k
源码类别:

波变换

开发平台:

Matlab

  1. function y = wthresh(x,sorh,t)
  2. %WTHRESH Perform soft or hard thresholding. 
  3. %   Y = WTHRESH(X,SORH,T) returns soft (if SORH = 's')
  4. %   or hard (if SORH = 'h') T-thresholding  of the input 
  5. %   vector or matrix X. T is the threshold value.
  6. %
  7. %   Y = WTHRESH(X,'s',T) returns Y = SIGN(X).(|X|-T)+, soft 
  8. %   thresholding is shrinkage.
  9. %
  10. %   Y = WTHRESH(X,'h',T) returns Y = X.1_(|X|>T), hard
  11. %   thresholding is cruder.
  12. %
  13. %   See also WDEN, WDENCMP, WPDENCMP.
  14. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  15. %   Last Revision: 14-May-2003.
  16. %   Copyright 1995-2004 The MathWorks, Inc.
  17. % $Revision: 1.11.4.2 $
  18. switch sorh
  19.   case 's'
  20.     tmp = (abs(x)-t);
  21.     tmp = (tmp+abs(tmp))/2;
  22.     y   = sign(x).*tmp;
  23.  
  24.   case 'h'
  25.     y   = x.*(abs(x)>t);
  26.  
  27.   otherwise
  28.     error('Invalid argument value.')
  29. end