I need to compare 3 216×216 matrix (data correlation matrix, events etc) . can someone suggest a way to plot these in matlab or someother plotting tools that can easily visualise and compare them … does a 3d mesh plot be useful ? I thought mesh would be good .. but I need others opinion too.
Thanks in advance,
Sparse matrices
You can use the
spy()method to visualize a “sparsity pattern”, as Matlab calls it. It plots a dot (or any other marker) where the matrix element is non-zero.spy()can also be used to visualize non-sparse matrices where a lot of entries are close to zero – just threshold the matrix first:More generally, you can apply upper and lower thresholds to visualize the location of matrix entries whose value is within a specific range.
Corellation
It may be useful to just display the matrix using
imagesc(). This may give you an idea of the degree of corellation in your data – i.e. an uncorellated signal will have a corellation matrix with dominant diagonal elements, which will be clearly visible. I find Matlab’s default color map distracting, so I usually do something likeMiscellaneous
Of course, there’s a whole host of non-visual comparisons you can make – various
norm()‘s,std(), spectral analysis usingeig()for square matrices, orsvd()more generally. You can compare eigenvalue magnitudes, or compare the eigenvectors. This may be very useful or complete garbage, depending on what your data is.Thus, to conclude (for now), depending on what specifically your matrices contain, you may get more useful suggestions.