| Simulink Parameter Estimation | ![]() |
www.kxcad.net Home > CAE Software Index > MATLAB Index >
| On this page… |
|---|
The @Estimation object is the coordinator between the model, experiments, and parameter objects.
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);
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. |
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', [] ); |
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
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
Descriptions of some of the important methods are given next:
compare — Compares an experiment and a simulation.
simulate — Simulates the model with current parameters and states.
estimate — Runs an estimation.
restart — Restarts an estimation after it has finished running.
update — Updates the estimation object after the Simulink model has been modified.
| Creating State Objects | Blocks — Alphabetical List | ![]() |
© 1984-2007 The MathWorks, Inc. Terms of Use Patents Trademarks Acknowledgments