MATLAB Answers


Doubt on the block diagram of the NARX model - matlab documentation

Asked by Emanuel on 13 Apr 2011

In matlab documentation, the block diagram that "represents" the structure of a nonlinear ARX model may have an error.

According [R. Isermann, and M. Münchhof, Identification of Dynamic Systems - An Introduction with Applications,Springer, 2011], the NARX model depends on measured inputs and measured outputs, and the NOE model depends on measured inputs and modeled outputs. In other words, the block diagram that "represents" the structure of a nonlinear ARX model in matlab documentation shows a NOE model and not a NARX model, because the figure uses modeled outputs(modeled output feedback) as input to the model, instead of using the measured output of the process.

Is not it?


Log in to comment.

1 Answer

Answer by Rajiv Singh on 15 Apr 2011
 Accepted Answer

There is a difference between prediction and simulation. For prediction, an autoregressive model would use the past measured values of outputs. But the same model would use past model outputs to compute future outputs when performing simulation. This is because in a pure simulation scenario, the simulator has no knowledge of past measured outputs. In other words, simulation is prediction with infinite prediction horizon.

This difference carries over to estimation too. There is a model property called Focus that controls whether you are estimating the model to minimize the 1-step prediction error or the simulation error. If it is the former, the block diagram should show no feedback and use measured I/Os as input values just as you claim. However, if you want the latter (simulation error minimization), the output must be computed using a "dynamic" configuration wherein the past simulated output values are fed back.

In the literature, when NOE and NARX are described, what is implicit is that 1-step ahead prediction error will be minimized. Note that for Output Error configuration (NOE) there is no difference between simulation and prediction errors because the model structure has no autoregressive component. This difference is relevant only for models that contain an "AR" part.


Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!