design optimization: changing cost function paying special attention to maxima

1 Ansicht (letzte 30 Tage)
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 Kommentar
jgg
jgg am 19 Jan. 2016
Bearbeitet: jgg am 19 Jan. 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?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Statistics and Machine Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by