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

波变换

开发平台:

Matlab

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