Azzera filtri
Azzera filtri

Rows contained in other rows

2 visualizzazioni (ultimi 30 giorni)
Alberto Rocha
Alberto Rocha il 16 Feb 2017
Commentato: Alberto Rocha il 22 Feb 2017
I have a matrix such as A=[1 2 3;1 3 5] and I want to determine which row(s) is(are) totally contained in one (or more) single row(s) of another matrix such as B=[1 4 3 2 8;1 4 5 9;1 2 5 8 9]. In this example, row 1 of A is contained is the first row of B, but second row of A is NOT contained in a single row of B (elements 1 and 3 are in first row of B, and element 5 is in second). I know I could use ISMEMBER function for each row of A, but my matrices are too large, and a loop would take too long. Does anyone have a solution for that without a FOR-END or WHILE-END loop?

Risposta accettata

Image Analyst
Image Analyst il 16 Feb 2017
How large? What are your actual, typical size dimensions for A and B? I just did a for loop with a million iterations and the for loop itself (not with ismember in it) took 0.002 seconds.
One way to do it with 2-D arrays is to use normalized cross correlation with normxcorr2(). See attached demo.
  5 Commenti
Image Analyst
Image Analyst il 18 Feb 2017
You could use the moving SAD method - very accurate, but it might be slow.
Alberto Rocha
Alberto Rocha il 22 Feb 2017
Thanks a lot. I'll try to learn how to use this function.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by