design optimization: changing cost function paying special attention to maxima

1 view (last 30 days)
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 Comment
jgg
jgg on 19 Jan 2016
Edited: jgg on 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?

Sign in to comment.

Answers (0)

Categories

Find more on Simulink Design Optimization 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!