How do I tune states that have external initial conditions using Simulink Parameter Estimation toolbox?

1 view (last 30 days)
I have an integrator whose initial condition is supplied externally. I want to be able to tune the initial condition of the state associated with the integrator using the Simulink Parameter Estimation.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Jun 2009
This enhancement has been incorporated in Release 2006a (R2006a). For previous product releases, read below for any possible workarounds:
When integrators use the external initial condition port, that signal overrides the initial condition of the integrator. When using Simulink Parameter Estimator, the signal value must be made into a tunable parameter. This can be done by either:
- Backtracing to the source of the signal and creating a tunable parameter(s) that drive the value of the signal.
- Using an Initial Condition block that directly feeds the initial condition port of the integrator. The initial condition block value is then made to be a tunable variable for Simulink Parameter Estimator.
An example that illustrates a method of making externally set initial conditions tunable is attached. Download the attached model "msd_system_extic.mdl" and the MAT files "est_proj.mat" and "msd_system_extic.mat" into your working directory.
The model "msd_system_extic.mdl" has an integrator block whose initial condition is set externally by a "Constant" block. The parameter value of the "Constant" block is set to the value of the variable Ic (hence making it tunable). From the tools menu, select "Parameter Estimation". The "Controls and Estimation Manager" window opens up. From the file menu of this window, select load to load the MAT file "est_proj.mat". This will set up the estimation project that estimates the parameters "m", "b", "k" and "Ic". Since the initial value of the "Position" integrator is set by the value of "Ic", the estimation task indirectly estimates the initial condition of the state associated with the "Position" integrator block.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!