| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → System Identification Toolbox |
| Contents | Index |
| Learn more about System Identification Toolbox |
t=treepartition(Property1,Value1,...PropertyN,ValueN)
t=treepartition('NumberOfUnits',N)
treepartition is an object that stores the binary-tree nonlinear estimator for estimating nonlinear ARX models.
You can use the constructor to create the nonlinearity object, as follows:
t=treepartition(Property1,Value1,...PropertyN,ValueN) creates a binary tree nonlinearity estimator object specified by properties in treepartition Properties. The tree has the number of leaves equal to 2^(J+1)-1, where J is the number of nodes in the tree and set by the property NumberOfUnits. The default value of NumberOfUnits is computed automatically.
t=treepartition('NumberOfUnits',N) creates a binary tree nonlinearity estimator object with N terms in the binary tree expansion (the number of nodes in the tree). When you estimate a model containing t, the value of the NumberOfUnits property, N, in t is automatically changed to show the actual number of leaves used—which is the largest integer of the form 2^n-1 and less than or equal to N.
Use evaluate(t,x) to compute the value of the function defined by the treepartition object t at x. At this stage, an adaptive pruning algorithm is used to select an active partition D_a(= D_a(x)) on the branch of tree partitions that contain x.
Use treepartition to define a nonlinear
function
, where F is
a piecewise-linear (affine) function of x, y is
scalar, and x is a 1-by-m vector. F is
a local linear mapping, where x-space partitioning
is determined by a binary tree.
The binary-tree network function is based on the following function expansion:
![]()
x belongs to the active partition
.
is a partition of x-space. L is
1-by-m vector.
Ck is a 1-by-(m+1) vector.
d is a scalar.
The active partition
is
computed as an intersection of half-spaces by a binary tree, as follows:
Tree with N nodes and J levels is initialized.
Node at level J is a terminating leaf and a node at level j<J has two descendants at level j+1. The number of leaves in the tree is N = 2^(J+1)-1, which is determined by the NumberOfUnits property of the treepartition object.
Partition at node r is based on [1,x]*B_r > 0 or <= 0 (move to left or right descendant), where B_r is chosen to improve the stability of least-square computation on the partitions at the descendant nodes.
Compute at each node r the coefficients C_r of best linear approximation of unknown regression function on D_r using penalized least-squares algorithm.
You can include property-value pairs in the constructor to specify the object.
After creating the object, you can use get or dot notation to access the object property values. For example:
% List all property values get(t) % Get value of NumberOfUnits property t.NumberOfUnits
You can also use the set function to set the value of particular properties. For example:
set(t, 'NumberOfUnits', 5)
The first argument to set must be the name of a MATLAB variable.
| Property Name | Description |
|---|---|
| NumberOfUnits | Integer specifies the number of nodes in the tree. When you estimate a model containing a treepartition nonlinearity, the value of NumberOfUnits is automatically changed to show the actual number of leaves used—which is the largest integer of the form 2^n-1 and less than or equal to N (the integer value of units you specify). For example: treepartition('NumberOfUnits',5) |
| Parameters | Structure containing the following fields:
|
| Options | Structure containing the following fields that affect the initial model:
|
When the idnlarx property Focus is 'Prediction', treepartition uses a noniterative technique for estimating parameters. Iterative refinements are not possible for models containing this nonlinearity estimator.
You cannot use treepartition when Focus is 'Simulation' because this nonlinearity estimators is not differentiable. Minimization of simulation error requires differentiable nonlinear functions.
Use treepartition to specify the nonlinear estimator in nonlinear ARX models. For example:
m=nlarx(Data,Orders,treepartition('num',5));The following commands provide an example of using advanced treepartition options:
% Define the treepartition object
t=treepartition('num',100);
% Set the Threshold, which is a field
% in the Options structure
t.Options.Threshold=2;
% Estimate the nonlinear ARX model
m=nlarx(Data,Orders,t);| nlarx |
![]() | timestamp | TrendInfo | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |