I there a way to call variables from my workspace into the genetic algorithm tool? (Without calling them from the fitness function)

2 visualizaciones (últimos 30 días)
I have a fitness function which has coeficients that I am importing from a .csv file. The problem is that when I run the GA tool (from its GUI, not from code) it imports the data every iteration (which is very time consuming). I have tried removing the line where I read the table, since "data" is already in my workspace, however the tool doesn't recognize variables that in my workspace. Is it possible to have variables in my fitness function (data.Die and data.DiePD in my case) that are in my worspace without having to create those in my function?
function Sum_Sqr=GA_(x)
data=readtable('test.csv');
x1=x(1);x2=x(2);
dT = (x1*data.DieA.^x2).*data.DiePD
Sum_Sqr = sumsqr ( sum(dT,2) - data.t1);

Respuesta aceptada

Stephen23
Stephen23 el 23 de Oct. de 2020
Editada: Stephen23 el 23 de Oct. de 2020
"Is it possible to have variables in my fitness function (data.Die and data.DiePD in my case) that are in my worspace without having to create those in my function?"
Of course. You just need to parameterize your function, the MATLAB documentation explains how:
Basically you need to add those variables as inputs to the function, e.g.:
function Sum_Sqr=GA_(x,data)
and then in the workspace where the function is used you need something like this:
data = readtable('test.csv');
..
ga(@(x)GA_(x,data), .. )

Más respuestas (0)

Categorías

Más información sobre Genetic Algorithm 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