Compare values within a matrix
Ältere Kommentare anzeigen
I am comparing two matrices of different dimensions (A and B). I want to find values in B that are within 1 number unit to A. Is there anyway I can do this? B is a smaller matrix than A.
Thanks
1 Kommentar
Azzi Abdelmalek
am 23 Jun. 2015
What does that mean?
Antworten (2)
Ingrid
am 23 Jun. 2015
if you mean to find all numbers that are equal to each other when disregarding the numbers behind the comma than you can use something like this
A_r = round(A);
B_r = round(B);
C = intersect(A_r,B_r);
1 Kommentar
Yewande Oni
am 23 Jun. 2015
Bearbeitet: Yewande Oni
am 23 Jun. 2015
Jan
am 23 Jun. 2015
A = [31 16 8; 38 4 10];
B = [30 15 7; 34 5 14];
nA = size(A, 1);
match = false(1, nA)
for iA = 1:nA
D = abs(bsxfun(@minus, A(iA, :), B)) <= 1.0;
match(iA) = any(all(D, 2));
end
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!