How I can impliment my objective function inside this GA?

1 visualizzazione (ultimi 30 giorni)
How I can impliment my objective function inside this GA?

Risposta accettata

Star Strider
Star Strider il 11 Dic 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.
.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by