How to output and save x1 and x2 after each run / generation?

1 view (last 30 days)
I am using the genetic algorithm with a two variable function. I am running gaoptimeset and ga in a loop of a specified number. I want to get the value of x1 and x2 for each generation that the program is ran in one loop. How do I do this? I want to see how the values of x1 and x2 converge to the solution.
Thanks

Answers (1)

Alan Weiss
Alan Weiss on 25 Jun 2015
Use an Output Function. For an example (using different solver and syntax, be careful!), see Output Functions in the Optimization Toolbox documentation.
Alan Weiss
MATLAB mathematical toolbox documentation
  2 Comments
Emily Senay
Emily Senay on 26 Jun 2015
okay but if I want to output the best fitness function value for the first generation and the last, how do I do that? I would like to call them best1 and best2 so that at the end i can take the difference.
Alan Weiss
Alan Weiss on 29 Jun 2015
You can get the population at each generation in the state.Population field. See The State Structure. ga passes the state structure to your output function.
Alan Weiss
MATLAB mathematical toolbox documentation

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!