MATLAB: GA is not working…Function i have written separately calling in main program but not worked?

ga

xdata =[ 1 2 3 4 5 6] ; ydata=(1./(xdata.^2+2*xdata+4)); FitnessFunction = @simple_fitness; numberOfVariables = 3; x =ga(@genefun,numberOfVariables) * function y = simple_fitness(x,xdata,ydata) y = @(x) sum((x(1)./(x(2).*xdata.^1.9+x(3).*xdata.^0.9+1) – ydata).^2);**

Best Answer

  • There are two version of code which are working but do not converge.
    First:
    xdata =[ 1 2 3 4 5 6] ;
    ydata=(1./(xdata.^2+2*xdata+4));
    FitnessFunction = @(x) sum((x(1)./(x(2).*xdata.^1.9+x(3).*xdata.^0.9+1)-ydata).^2);
    numberOfVariables = 3;
    x =ga(FitnessFunction,numberOfVariables)
    Second:
    xdata =[ 1 2 3 4 5 6] ;
    ydata=(1./(xdata.^2+2*xdata+4));
    numberOfVariables = 3;
    x =ga(FitnessFunction,numberOfVariables)
    %in separate file
    function y=simple_fitness(xdata,ydata)
    y=@(x) sum((x(1)./(x(2).*xdata.^1.9+x(3).*xdata.^0.9+1)-ydata).^2)
    end