Main Content


Estimate general input-output models using recursive pseudolinear regression method


thm = rplr(z,nn,adm,adg)
[thm,yhat,P,phi] = rplr(z,nn,adm,adg,th0,P0,phi0)


rplr is not compatible with MATLAB® Coder™ or MATLAB Compiler™.

This is a direct alternative to rpem and has essentially the same syntax. See rpem for an explanation of the input and output arguments.

rplr differs from rpem in that it uses another gradient approximation. See Section 11.5 in Ljung (1999). Several of the special cases are well-known algorithms.

When applied to ARMAX models, (nn = [na nb nc 0 0 nk]), rplr gives the extended least squares (ELS) method. When applied to the output-error structure (nn = [0 nb 0 0 nf nk]), the method is known as HARF in the adm = 'ff' case and SHARF in the adm = 'ng' case.

rplr can also be applied to the time-series case in which an ARMA model is estimated with:

z = y
nn = [na nc]


Estimate Output-Error Model Parameters Using Recursive Pseudolinear Regression

Specify the order and delays of an Output-Error model structure.

na = 0;
nb = 2;
nc = 0;
nd = 0;
nf = 2;
nk = 1;

Load the estimation data.

load iddata1 z1

Estimate the parameters using forgetting factor algorithm, with forgetting factor 0.99.

EstimatedParameters = rplr(z1,[na nb nc nd nf nk],'ff',0.99);


For more information about HARF and SHARF, see Chapter 11 in Ljung (1999).

Version History

Introduced before R2006a