Main Content

# ind2depo

Node index to node depth-position

## Syntax

``[d,p] = ind2depo(ord,n)``

## Description

`ind2depo` is a tree-management utility.

example

````[d,p] = ind2depo(ord,n)` returns, for a tree of order `ord`, the depths `d` and positions `p` (at those depths) for the nodes with indices `n`.The nodes are numbered from left to right and from top to bottom. The root index is 0.```

## Examples

collapse all

Create a binary wavelet packet tree with three levels.

```Ord = 2; Lev = 3; T = ntree(Ord,Lev);```

Plot the tree.

`plot(T)`

Use the `allnodes` function to obtain the indices of the nodes in linear order.

`idx = allnodes(T);`

Convert the indices to depth-position format.

```[depth,pos] = ind2depo(Ord,idx); table(idx,depth,pos)```
```ans=15×3 table idx depth pos ___ _____ ___ 0 0 0 1 1 0 2 1 1 3 2 0 4 2 1 5 2 2 6 2 3 7 3 0 8 3 1 9 3 2 10 3 3 11 3 4 12 3 5 13 3 6 14 3 7 ```

## Input Arguments

collapse all

Order of a tree, specified as a positive integer.

Example: A binary tree is a tree of order 2.

Node indices, specified as a column vector with nonnegative integer entries.

## Output Arguments

collapse all

Depths and positions (at those depths) for the nodes with indices `n`, returned as a pair of column vectors with nonnegative integer entries.

The values of the depths D and positions N are such that 0≤D and 0≤ P`ord`D-1.

Note

If `n` is a M-by-2 matrix, we have ```ind2depo(ord,n) = [n(:,1),n(:,2)]```.

## Version History

Introduced before R2006a