Azzera filtri
Azzera filtri

design optimization: changing cost function paying special attention to maxima

1 visualizzazione (ultimi 30 giorni)
I built a simscape model of a system with a motor current as output. I also got a measured motor current curve. The model consists some parameters which I want to estimate to fit the output curve of the model to the measured curve. After trying to fit the parameters to the measured data, I am not quite happy with the results.
In the picture the blue data is the measured data, the red one the results after using design optimization. The yellow data is a simulation where I changed one of the parameters to have a better fit at the maximum.
Is it possible to give special attention to maxima? I used sum squared error as cost function. This should work better than "sum-absolute error" because the fit to the left and right of the maxima gets worse when changing the parameter by hand.
Thank you!
  1 Commento
jgg
jgg il 19 Gen 2016
Modificato: jgg il 19 Gen 2016
I'm not an expert on Simulink models, but it looks to me like the issue is the fitting function you're using has the wrong concavity; you can see it especially at the end of the data where it fits the step-point incorrectly. Can you adjust this?
Some other suggestions:
  • Does your yellow line have a better fit than the orange line? If so, the solver might have just not found an optimum. Try seeding the initial values of the parameters from the orange parameters instead.
  • You didn't mention what solver you were using, but you can try "focusing" some components of the data by weighting the maximum points more heavily using a weighting function.
  • Try using a different solver entirely; perhaps a local, non-parametric one would work?

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Simulink Design Optimization in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by