How to find out the location difference of nonzero entries in two sparse matrices?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Benson Gou
am 23 Feb. 2019
Kommentiert: Stephan
am 24 Feb. 2019
Hello, All,
I have two sparse matries which have the same size. I know every nonzero entry in A must correspond to a nonzero entry in B, but some of nonzero entries in B which correspond to zero entries in A. For example, A=[0 1 0 2;3 0 0 4;0 5 6 0]; B=[0 1 0 2;3 7 0 4;8 5 6 0]. I want to find out the location of nonzero entries in B which correspind to zero entries in A. The answer to this example is: (2, 2) and (3, 1). Their correspinding entries are 7 and 8 in B.
Thanks.
Benson
0 Kommentare
Akzeptierte Antwort
Stephan
am 23 Feb. 2019
Hi,
this are not sparse matrices. However you find the locations given as row and column values and the corresponding values with:
A=[0 1 0 2;3 0 0 4;0 5 6 0];
B=[0 1 0 2;3 7 0 4;8 5 6 0];
[row, col] = find(A~=B)
vals = B(A~=B)
results in:
row =
3
2
col =
1
2
vals =
8
7
which is exactly the desired result.
Best regards
Stephan
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Particle & Nuclear Physics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!