How do you get fval with iterations out of ga and particleswarm (genetic algorithms and particle swarm)

2 visualizaciones (últimos 30 días)
Currently I have:
[s_best,fval_best] = ga(fhandleformatlab,d_fun,[],[],[],[],lb_fun, ub_fun,[],[],options);
[s_best,fval_best,~,~] = particleswarm(fhandleformatlab,d_fun,lb_fun, ub_fun,options);
But I want to save the result of fval at each iteration/generation to an array, so I can analyse how fast the algorithm converges to optimum. I cannot see how to get this output into an array in the matlab workspace.
Note - I do not merely want to display the output, which I can do. I cannot figure out how to output it to an array in the workspace so I can plot it, analyse it etc.

Respuesta aceptada

Walter Roberson
Walter Roberson el 1 de Sept. de 2015
You would initialize an array and you would have the output function append to the array each time it was called. I recommend using nested functions for this purpose so that you avoid the temptation of global variables.
  2 comentarios
JMP Phillips
JMP Phillips el 4 de Sept. de 2015
Hi Walter, I just use the evalin function to append it to a variable in the calling function or workspace each iteration.
Mark Brandon
Mark Brandon el 14 de Sept. de 2019
Several years have gone by, but I would be interested in this solution you found. Can provide more detail?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Particle Swarm en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by