Multiple solutions using fsolve and fmincon
Show older comments
I used four known parameters (origional parameters) and performed some calculations using fsolve and fmincon to fit the data (final data set) and it works very well. Then, I came across the data (final data set) where I don't know the origional parameters but know the final data set. I tried to optimize the origional parameters using fmincon so that I can get unique solution but unsuccessful.
I am getting different answers if I provide different inital guess. Please assist me if I can solve this problem.
4 Comments
Star Strider
on 24 Jun 2020
Nonlinear parameter estimation (that soulnds like what you are doing) is very sensitive to the initial parameter estimates. The best way I have found to deal with this problem is to use the ga (genetic algorithm) function to search the entire parameter space for the best set of parameters. The default options may work in your situation, however it may be necessary to create your own InitialPopulationMatrix to determine them most efficiently. (The ga function requires the Global Optimization Toolbox.)
Usman Hamid
on 25 Jun 2020
Walter Roberson
on 25 Jun 2020
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
There can be more than one reason to get that message, but the major reason is that it is unable to find a nearby location with lower value -- that is, that it has found a local minima (that might or might not be a global minima.)
You can set the Display option to 'none' to supress the message.
Be sure to check the exit flag.
Usman Hamid
on 26 Jun 2020
Answers (0)
Categories
Find more on Solver Outputs and Iterative Display 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!