The most reliable approach is to perform a singular value decomposition on the matrix. The ratio of the largest to the smallest singular values should be within some reasonable tolerance. This ratio is the condition number of the matrix. With double precision values, things are getting very dicy with double precision values when the condition number exceeds a million or more, and that's a rather high limit. Note that once you have the SVD, it is useful for a lot of other things than just computing the condition number.
Singular value decomposition is the swiss army chainsaw of numerical analysis; it can be a bit heavy handed of a tool if you know the matrix isn't singular / ill-conditioned. But if you don't know, it's a good tool to know. Particularly so with Matlab since it's a built-in tool.