Historically, MATLAB matrices have been limited in size to those that would fit in a 32-bit address space. Some of those limitations have been lifted, but some remain. Specifically, the data type used to index into an mxArray is still a 32-bit signed integer. This limits the number of elements in any one array to INT_MAX-1, or 2147483646 (approximately 2*10^9). With this limit, you can create matrices up to 16 GB (for doubles). You can create as many of these as your machine has memory to support.