Clear Filters
Clear Filters

Compare big matrices A ,B

1 view (last 30 days)
Kamal
Kamal on 23 Nov 2013
Edited: Image Analyst on 23 Nov 2013
I Have 2 big matrix A, B with the same dimension (mxn) that n>>m. I apply the princomp function on those for computing the principal components because I wanted to reduce those dimension for comparing those with each other. I want to find that which row of those matrices has biggest difference with each other. Is it possible by comparing the angles between the eigenvectors that I computed by the princomp function (principal components of the 2 matrix)?? It really appreciated if you get me some proposal and help. Thank you for your time and help. Kamal
  3 Comments
Image Analyst
Image Analyst on 23 Nov 2013
I agree with Jan - I'm confused too. After you do PCA on A and on B, you'll have two more sets of axes (one for each PC set on A and B) Are you comparing rows of A to rows of A? And same for B? Or are you comparing rows of A to rows of B? Or the angle between PC1 of A with PC2 of A? Or PC1 of A with PC1 of B? Please clarify.
Kamal
Kamal on 23 Nov 2013
Edited: Kamal on 23 Nov 2013
Many thanks for your comments. as I mentioned before, my final goals is comparing the row of A to rows of B. but I want to use the PCA for this goal. How I can? Please note that the each row of both matrices involved the continuous information and there are very noisy. For example the status of first row of A is same as first row of B. Also the status of the second row is same as the second on and so on.... So, I decided to used from the angle of the principal components method for comparing that works for all Matrices.I need to indicate that for example the k-th row is the row with the biggest variation(along the all columns). Is it OK or not? thanks again for your help.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 23 Nov 2013
Edited: Image Analyst on 23 Nov 2013
Try this
comparison = abs(A-B);
[maxValue, indexOfMax] = max(comparison);
% Get row and column from linear index.
[row, col] = ind2sub(size(A), indexOfMax);
How does that work for you?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!