MATLAB: Not enough input arguments

gagenetic algorithmMATLABoptimizationOptimization Toolbox

I am trying to solve a simple optimization problem using GA.
Main file –
nvars = 3;
lb = [0; 0; 0];
ub = [1; 1; 1];
intcon = [1 2 3];
sol = ga(fun, nvars, [], [], [], [], lb, ub, [], intcon);
Function –
function val = fun(x)
%if (x(1)==1 || x(2)==1 || x(3)==1)
%val = 10000;
%else
a = x(1);
b = x(2);
c = x(3);
val = 10*a + 20*b - 30*c;
end
But it throws this error –
Error using fun (line 5)
Not enough input arguments.
Error in test_ga (line 7)
sol = ga(fun, nvars, [], [], [], [], lb, ub, [], intcon);
Need urgent help!!
Thank you.

Best Answer

sol = ga(@fun, nvars, [], [], [], [], lb, ub, [], intcon);