Compare values within a matrix
Mostrar comentarios más antiguos
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 comentario
Azzi Abdelmalek
el 23 de Jun. de 2015
What does that mean?
Respuestas (2)
Ingrid
el 23 de Jun. de 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 comentario
Yewande Oni
el 23 de Jun. de 2015
Editada: Yewande Oni
el 23 de Jun. de 2015
Jan
el 23 de Jun. de 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
Categorías
Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!