Create a System object for online estimation of an Output-Error model.
obj = recursiveOE('InitialB',[0 0.5],'InitialF',[1 0.8],...
'InitialParameterCovariance',0.1);
Load the estimation data. For this example, use a static data set for illustration.
load iddata1 z1;
output = z1.y;
input = z1.u;
Estimate model parameters online using step.
for i = 1:numel(input)
[B,F,EstimatedOutput] = step(obj,output(i),input(i));
end
View the object properties.
obj
obj =
recursiveOE with properties:
B: [0 2.0014]
F: [1 -0.7639]
InitialB: [0 0.5000]
InitialF: [1 0.8000]
ParameterCovariance: [2x2 double]
InitialParameterCovariance: [2x2 double]
EstimationMethod: 'ForgettingFactor'
ForgettingFactor: 1
EnableAdaptation: true
History: 'Infinite'
InputProcessing: 'Sample-based'
DataType: 'double'
Reset the System object.
reset(obj)
The estimated parameters, B and F, and parameter covariance, ParameterCovariance are reset to the initial values.
obj
obj =
recursiveOE with properties:
B: [0 0.5000]
F: [1 0.8000]
InitialB: [0 0.5000]
InitialF: [1 0.8000]
ParameterCovariance: [2x2 double]
InitialParameterCovariance: [2x2 double]
EstimationMethod: 'ForgettingFactor'
ForgettingFactor: 1
EnableAdaptation: true
History: 'Infinite'
InputProcessing: 'Sample-based'
DataType: 'double'