The meaning of the exit flag is explained in the documentation:
http://www.mathworks.com/help/toolbox/optim/ug/fmincon.html#f469794
In particular, you see that when the exit flag is negative, usually the
"solution" is infeasible, or fmincon ran out of iterations or function
evaluations, so the "solution" cannot be considered reliable.
If you have a relatively recent version of Optimization Toolbox, the
exit message contains a link describing fmincon's estimate of the
quality of the result.
Alan Weiss
MATLAB mathematical toolbox documentation