I don' know why simulink parameter estimation failed. Please help me
73 views (last 30 days)
Show older comments
I want to know battery’s internal parameter (internal resistance, diffusion reisister, tau) when i modelling a battery to ECM using a simscape battey.
For parameter estimation, I use hppc profile for input
i make a new experience in parameter estimation app and choose parameter i want to know. Then Run estimating
Simulated Output cannot follow the experienced output.. Cost is also too high.
For Result parameter is not converged..
what’s wrong.. is it important parameter’s initial value, min, max?
Is Input signal too complicated to estimate parameters?
Please give me some tips. Expert of simulink members..
[Below, Text in report translated in English ]
' Optimization started on 2024-Nov-11, 10:50:02.
Estimation converged on 2024-Nov-11, 11:24:53.
One error occurred in the solver during estimation. For more details on the error, check 'EvalErrors_2' in the results workspace.
'ingyu' has been updated with the estimated parameter values.
The estimated parameter values are recorded in 'EstimatedParams'.
The estimated experiment values are recorded in 'Exp'.
Solver output for estimation:
A local minimum may exist.
lsqnonlin stopped because the final change in the sum of squares relative to the initial value was smaller than the function tolerance.
<Details of the stopping criterion>
Optimization stopped because the relative change in the sum of squares (r) was smaller than options.FunctionTolerance = 1.000000e-03.'
3 Comments
Walter Roberson
on 11 Nov 2024 at 17:59
Sorry, I am unable to change how Simulink FastRestart works so that it will permit changing those parameters. You could file an enhancement request to permit parameters to be changed for FastRestart.
Answers (1)
Yifeng Tang
about 24 hours ago
Looks like the error message is trying to tell you that the Parameter Estimater cannot change the parameters it tries to estimate. This is because the "compile-time" parameters in Simscape (to be explained later) can't be modified from simulation to simulation when the Fast Restart is turned on. The solution is simple:
(1) NOT recommended: turn off fast restart. This will allow the parameters to be modified, but also add compile time to the start of each simulation.
(2) Do this instead: for the parameters you try to estimate, at every place it's used, make them "run-time". This way, Simscape will keep a placeholder for them and allow the values to be modified from run to run in Fast Restart mode.
See these two documentation pages for more details:
https://www.mathworks.com/help/simscape/ug/specify-and-change-a-run-time-configurable-parameter.html
The 2nd page talks about runing run-time parameters with fast restart. It's a common practice when doing parameter estimation.
See Also
Categories
Find more on Propulsion and Power Systems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!