MATLAB: Nonlcon : Too many input arguments.

fminconnonlcon

Hi everybody, I have a problem with non linear constraints in fmincon. I get this error "Too many input arguments".
The nonlcon function is very simple:
function [c,ceq] = covposdef(x)
c = -x(3)*x(5)+x(4)^2;
ceq = [];
end
The function to optimize is a likelihood of a bivariate normal density. Any suggestion?

Best Answer

I think the problem is that FMINCON thinks your fixed "data" is meant to be passed both to meancov and covposdef. If you intend only to pass it to meancov, call FMINCON using the following more modern syntax
theta = fmincon(@(x) meancov(x,data),iv,[],[],[],[],lb,ub,@covposdef,options);