# Find if two sparse matrix have 1 in same position

4 views (last 30 days)

Show older comments

##### 0 Comments

### Accepted Answer

Cedric
on 1 Nov 2017

Edited: Cedric
on 1 Nov 2017

Do you need something along this line?

% - Build small test case.

A = sprand( 4, 5, 0.5 ) > 0 ; % 4x5 sparse.

B = sprand( 4, 4, 0.5 ) > 0 ; % 4x4 sparse.

% - Find intersect of matching locations of non-zero elements.

[A_r, A_c] = find( A ) ;

[B_r, B_c] = find( B ) ;

matching_rc = intersect( [A_r,A_c], [B_r,B_c], 'rows' )

Which outputs e.g.:

>> A

A =

4×5 sparse logical array

(4,1) 1

(1,2) 1

(1,3) 1

(2,3) 1

(4,4) 1

(1,5) 1

(2,5) 1

>> B

B =

4×4 sparse logical array

(2,1) 1

(4,1) 1

(2,2) 1

(4,2) 1

(1,4) 1

(2,4) 1

(4,4) 1

>> matching_rc

matching_rc =

4 1

4 4

### More Answers (1)

Cam Salzberger
on 1 Nov 2017

Hello Lorenzo,

Sparse matrices in MATLAB are nice because you can often treat them as regular matrices. Specifically, indexing still works just fine:

rng default % For repeatability

A = sparse(randi(2,10)-1);

B = sparse(randi(2,10)-1);

A(3, 8) == 1 && B(3, 8) == 1

A(3, 9) == 1 && B(3, 7) == 1

Hope this helps!

-Cam

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!