# The statement "order of the polynomial B(q) + 1" in the documentation is somewhat ambiguous

2 views (last 30 days)

Show older comments

The following statement appears in a number of places in the documentation and refers to the nb parameter of discrete linear systems represented by polynomials, such as ARX, ARMAX, BJ, etc.:

"nb is the order of the polynomial B(q) + 1"

where B(q) is defined as follows for the ARX model for example:

A(q) y(t) = B(q) u(t-nk) + e(t)

However, I find this statement ambiguous. Does it mean "(the order of the polynomial B(q)) + 1", in other words nb = n + 1 where n is the order of B(q)? Or is nb the order of the polynomial (B(q) + 1), i.e. the terms of B(q) + the zeroth-order term 1? (The latter seems unlikely since adding a zeroth-order term should not change the order, if it is defined as the power of the highest term).

To confirm, in the following example, I set na=2, nb=2, nk=2:

>> sys = arx([y u], [2 2 2])

sys =

Discrete-time ARX model: A(z)y(t) = B(z)u(t) + e(t)

A(z) = 1 - 1.1 z^-1 + 0.321 z^-2

B(z) = 1.222 z^-2 + 0.8787 z^-3

Sample time: 1 seconds

Parameterization:

Polynomial orders: na=2 nb=2 nk=2

Number of free coefficients: 4

Use "polydata", "getpvec", "getcov" for parameters and their uncertainties.

Status:

Estimated using ARX on time domain data.

Fit to estimation data: 72.29% (prediction focus)

FPE: 1.692, MSE: 0.9112

Here, B(z) is a third order polynomial but it includes the delay of nk=2 timesteps (u(t-nk) = z^-2 u(t)) so does that mean B(q) is 1st order in this example, therefore nb = 1 + 1 = 2?

Incidentally, the definition of nb in the documentation for OE models is written in a slightly less ambiguous way:

- "nb — Order of the B(q) polynomial + 1"

But in the code documentation for arx (help arx) it says the following. Here there is no mention of "+1":

ORDERS = [na nb nk], the orders of A and B polynomials in the arx model.

##### 7 Comments

Paul
on 13 Nov 2023

### Answers (0)

### See Also

### Categories

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!