Prediction of nonlinear grey-box models

1 visualización (últimos 30 días)
Jens
Jens el 14 de Abr. de 2016
Comentada: Jens el 19 de Abr. de 2016
Hi, in the System Identification Toolbox nonlinear grey-box model parameters are identified using the Prediction Error Method. I would like to know in this algorithm the prediction step works. nlgrey models are defined by a set of nonlinear ODEs and a set of output equations. This means that for a prediction, an internal state has to be estimated from the measurements given up to this point. Is this done using an observer? If so, what kind of observer is used and how is (partial) un-observability handled? If not, is the prediction step just an open-loop simulation of the system without feedback of the prior measurement data?

Respuestas (1)

Anish Mitra
Anish Mitra el 19 de Abr. de 2016
I believe that the prediction step is an open-loop simulation based on the estimated model parameters in the current iteration, and does not take into account any feedback.
The Algorithm section in the above link describes it as the "difference between the measured output and the predicted output of the model".
  1 comentario
Jens
Jens el 19 de Abr. de 2016
But when I use a model with integrating behavior the result doesn't 'run away'.
Example model:
function [dx, y] = mI(t, x, u, p, varargin)
dx= p*u;
y= x;
and doing
z= iddata((0:19)', ones(20, 1), 1);
nlgr= idnlgrey('mI', [1 1 1], [1.1], 0, 0);
compare(z, nlgr);
gives me a 100% fit even though the parameter value 1.1 should make the model go wrong. Interestingly, even
sim(nlgr, z, 'model');
gives the same 'predicted' result. And still
nlgr = pem(z, nlgr);
is able to find the correct parameter value 1.0. So, there seems to be some kind of prediction feedback going on. Honestly, I think it's a shame this is not better documented.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by