Creating Estimation Objects

www.kxcad.net Home > CAE Software Index > MATLAB Index >


Your Ad Here

What is an Estimation Object

The @Estimation object is the coordinator between the model, experiments, and parameter objects.

Constructor

The @Estimation object is the coordinator of the model, experiment, and parameter objects. The syntax to create an estimation object is

h = ParameterEstimator.Estimation('model');
h = ParameterEstimator.Estimation('model', hParam);
h = ParameterEstimator.Estimation('model', hParam, hExps);

Properties of Estimation Objects

Descriptions of some important properties of estimation objects are given in the following table.

Estimation Object Properties

Property

Description

Model

Name of the Simulink model with which this estimation is associated.

Experiments

Experiments to be used in estimations. For multiple experiments, the cost function uses a concatenation of the output error vectors obtained using each experimental data set.

Parameters

Parameter objects to be used in estimations.

States

State objects to be used in estimations. This is a handle matrix with as many columns as there are experiments, and as many rows as there are states in Model.
The handle matrix is created automatically in the constructor. You can reorganize its rows to specify shared states between experiments, and set the Estimated flag of desired states.
If state data is provided in an experiment, the state objects stored in the columns of this matrix are initialized from the experiments.

SimOptions

Same as simset structure. This property is initialized to simget(this.Model).

OptimOptions

Same as optimset structure.

EstimInfo

This property is used to store estimation-related information at each iteration of the optimizer, and is initialized as


this.EstimInfo = struct( 'Cost', [],...
                      'Covariance', [],...
                      'FCount', [],...
                      'FirstOrd', [],...
                      'Gradient', [],...
                      'Iteration', [],...
                      'Procedure', [],...
                      'StepSize', [],...
                      'Values', [] );

Example: F14 Model

To create an estimation object for the f14 model to estimate the parameters Ta and Kf and two states, use

exp1 = ParameterEstimator.TransientExperiment(gcs);
par1 = ParameterEstimator.Parameter('Ta', 'Estimated', true);
par2 = ParameterEstimator.Parameter('Kf', 'Estimated', true);
est1 = ParameterEstimator.Estimation(gcs, [par1, par2], exp1);
est1.States(1,1).Estimated = true;
est1.States(6,1).Estimated = true;
est1

MATLAB returns

Estimated variables for the model 'f14':

Estimated Parameters

Using Experiments
   (1) f14 experiment

Estimated States for Experiment 'f14 experiment' 
   (1) f14/Actuator Model
   (6) f14/Controller/Proportional plus integral compensator

Modifying Properties

After an estimation object is created, you can modify its properties using this syntax:

est.OptimOptions.Algorithm = 'fmincon'; % Estimation method
est.OptimOptions.Display = 'iter'; % Show estimation information 
...in workspace
est.Parameters(1).Estimated = false; % Do not estimate first 
...parameter
est.States(2,3).Estimated = false; % Do not estimate second state 
...of third expression

Using Class Methods

Descriptions of some of the important methods are given next:

  


© 1984-2007 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments

Your Ad Here