How to compare 2 matrices and produce a 3rd matrix of percentage similarity?

1 vue (au cours des 30 derniers jours)
I have two matrices of data that I need to compare. The actual dataset is rather large but for simplicity lets assume the first one is 3x3 and the second is 3x3. I want to 'slide' the first matrix over the second and produce a third matrix that contains data relating to the percentage match between the two matrices - I have illustrated an example of this below (only for the first 3 iterations, in total there would be six).
In the end I want a 3x3 matrix that contains percentages of match between the the black and red matrices for each iteration (X1, X2, X3 and so on) - with the sliding window there would be six total patterns which could populate the 3x3 matrix.
My MATLAB skills are still quite basic so any advice would be greatly appreciated!
Thank you!
  2 commentaires
Matt J
Matt J le 1 Sep 2022
Modifié(e) : Matt J le 1 Sep 2022
with the sliding window there would be six total patterns which could populate the 3x3 matrix.
Don't you mean 9? There are 9 sliding window positions that contain 4 or more points of overlap.
Daniel Holden
Daniel Holden le 2 Sep 2022
Yes, I did mean 9. Apologies!

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 1 Sep 2022
Modifié(e) : Matt J le 1 Sep 2022
Perhaps with xcorr2 or normxcorr2?
X=rand(3); Y=rand(3);
C=normxcorr2(X,Y);
C=C(2:end-1,2:end-1)
C = 3×3
-0.0645 -0.3220 -0.4682 0.2891 -0.1946 -0.1773 0.3589 0.3744 -0.1858

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by