The 'interior-point' algorithm cannot allow for points that are right on a boundary, yet your nonlinear constraint attempts to force the points to the boundary. I suggest that you do one of the following:
- Change the lower bound on x(1) to a negative number such as lb = [-0.1;0.2]
- Use the 'sqp' algorithm
- In any case, use a feasible initial point, such as [1e-8;0.3]
Also, after fmincon finishes, try running it again from the final point if the answer isn't reliable (exit flag not equal to 1).
MATLAB mathematical toolbox documentation