Fitting experimental data using genetic algorithm

I have a set of experimental data to fit to my model containing 26 data point at each voltage. The number of variable parameters in my model is 9 and I have used genetic algorithm (ga) in Matlab Optimization Toolbox to minimize the mean squared error (MSE). I could get perfect fit to the data at each voltage, obviously with a few local minima. I used the solutions of these local minima to seed the initial populations in gamultiobj to fit the whole data (6 sets of 26 data point at each voltage) but have not a close fit yet. Before I had inspected the solutions for each individual voltage and tried to find the shared solution and could get a perfect fit by changing the parameters manually, but it took weeks to achieve this solution. I would appreciate if you could let me know if there is a better solution.

Answers (1)

You would probably do better to use lsqcurvefit or lsqnonlin, possibly with MultiStart to search among the local minima. Here is an example using a model with just three parameters, but I am sure you can get the idea.
Here is an example using MultiStart to search for better minima.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

Products

Asked:

on 2 Jul 2013

Community Treasure Hunt

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

Start Hunting!