Just a practical tip from my experience:
It usually helps to look at the correlation matrix of your matrix "x".
That is corr(x).
I visualize it by commands like imagesc first and then browse through the columns for strange correlations. Things that can happen are: Correlations close to 1 or -1 (apart from the diagonal where correlations are always 1). Then you have to look at those highly or perfectly correlated variables and try to figure out the reason, e.g. if it's a coding error, if some variable is screwed up or if you have to drop one or several of the variables.