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

波变换

开发平台:

Matlab

  1. function par = nodepar(t,nodes,flagdp)
  2. %NODEPAR Node parent.
  3. %   F = NODEPAR(T,N) returns the indices of the "parent(s)"
  4. %   of the nodes N in the tree T.
  5. %   N can be a column vector containing the indices of nodes
  6. %   or a matrix which contains the depths and positions of nodes.
  7. %   In the last case, N(i,1) is the depth of i-th node 
  8. %   and N(i,2) is the position of i-th node.
  9. %
  10. %   F = NODEPAR(T,N,'deppos') is a matrix, which
  11. %   contains the depths and positions of returned nodes.
  12. %   F(i,1) is the depth of i-th node and
  13. %   F(i,2) is the position of i-th node.
  14. %
  15. %   The nodes are numbered from left to right and
  16. %   from top to bottom. The root index is 0.
  17. %
  18. %   Caution : NODEPAR(T,0) or NODEPAR(T,[0 0]) returns -1.
  19. %         NODEPAR(T,0,'deppos') or  NODEPAR(T,[0 0],'deppos')
  20. %         returns [-1 0].
  21. %
  22. %   See also NODEASC, NODEDESC, WTREEMGR.
  23. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 21-May-2003.
  24. %   Last Revision: 21-May-2003.
  25. %   Copyright 1995-2004 The MathWorks, Inc.
  26. % $Revision: 1.1.6.2 $
  27. ok = all(isnode(t,nodes));
  28. if ~ok
  29.     error('Invalid node(s) value.');
  30. end
  31. order = t.order;
  32. nodes = depo2ind(order,nodes);
  33. par   = floor((nodes-1)/order);
  34. if nargin==3 , [par(:,1),par(:,2)] = ind2depo(order,par); end