There are two MINLP solvers in Global Optimization Toolbox: ga and surrogateopt. Either should work for you. The surrogateopt solver is primarily for time-consuming functions. Both solvers work best on relatively low-dimensional problems, up to 100 variables or so, but there are no built-in limits, so you can try larger problems.
There is also an example showing how intlinprog can sometimes be used iteratively to solve otherwise convex mixed-integer problems: Mixed-Integer Quadratic Programming Portfolio Optimization: Problem-Based or the nearly identical Mixed-Integer Quadratic Programming Portfolio Optimization: Solver-Based.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation
