How I can impliment my objective function inside this GA?

5 visualizaciones (últimos 30 días)
How I can impliment my objective function inside this GA?

Respuesta aceptada

Star Strider
Star Strider el 11 de Dic. de 2022
Since ‘objective function’ implies curve fitting, try something like this —
x = 1:0.1:10;
y = 2.5*exp(-(x-5).^2/2)+randn(size(x))*0.25;
objfcn = @(b,x) b(1).*exp(-(x-b(2)).^2*b(3));
fitnessfcn = @(b) norm(y-objfcn(b,x));
Parms = 3;
[B,fval] = ga(fitnessfcn, Parms)
Optimization terminated: average change in the fitness value less than options.FunctionTolerance.
B = 1×3
2.6924 4.9718 0.6663
fval = 2.7118
figure
plot(x, y, '.')
hold on
plot(x, objfcn(B,x), '-r')
hold off
grid
The parameter estimates here (2.69, 4.97, 0.666) are reasonably accurate when compared to the actual parameters (2.5, 5.0, 0.5) in this relatively simple problem. The norm of the residuals is 2.71.
.

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