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

波变换

开发平台:

Matlab

  1. function tnd = split(t,node,x,varargin)
  2. %SPLIT Split (decompose) the data of a terminal node.
  3. %   TNDATA = SPLIT(T,N,X) decomposes the data X 
  4. %   associated to the terminal node N of the 
  5. %   wavelet tree T.
  6. %
  7. %   TNDATA is a cell array (ORDER x 1) such that
  8. %   TNDATA{k} contains the data associated to
  9. %   the k-th child of N.
  10. %
  11. %   The method uses DWT (respectively DWT2) for
  12. %   one-dimensional (respectively two-dimensional) data.
  13. %
  14. %   This method overloads the DTREE method.
  15. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 09-Oct-1998.
  16. %   Last Revision: 21-May-2003.
  17. %   Copyright 1995-2004 The MathWorks, Inc.
  18. %   $Revision: 1.4.4.2 $  $Date: 2004/03/15 22:36:11 $ 
  19. order = treeord(t);
  20. mode  = t.dwtMode;
  21. Lo_D  = t.waveInfo.Lo_D;
  22. Hi_D  = t.waveInfo.Hi_D;
  23. tnd   = cell(order,1);
  24. switch order
  25.   case 2
  26.     [tnd{1},tnd{2}] = dwt(x,Lo_D,Hi_D,'mode',mode,'shift',0);
  27.   case 4
  28.     [tnd{1},tnd{2},tnd{3},tnd{4}] = ...
  29.         dwt2(x,Lo_D,Hi_D,'mode',mode,'shift',[0 0]);
  30. end