Compare values within a matrix
Show older comments
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 Comment
Azzi Abdelmalek
on 23 Jun 2015
What does that mean?
Answers (2)
Ingrid
on 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 Comment
Yewande Oni
on 23 Jun 2015
Edited: Yewande Oni
on 23 Jun 2015
Jan
on 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
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!