Compare two arrays of different length
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Joe Abraham
el 18 de Dic. de 2012
Respondida: kate hughes
el 21 de Oct. de 2014
I have two arrays. Lets say A = [1 5 7 10 14 17 19 22 25 26 29], B= [2 7 12 18 23 ] I want to find out the values / positions in A which are nearest to every value of B.
P.S : The resulting array should have the same length as B. Any suggestions are welcome.
Thanks
0 comentarios
Respuesta aceptada
Walter Roberson
el 18 de Dic. de 2012
[junk, Aidx] = min(abs(bsxfun(@minus,A.',B)));
3 comentarios
Jan
el 18 de Dic. de 2012
@Joe: Simply try it by splitting into parts:
A
C1 = A.'
C2 = bsxfun(@mtimes, C1, B)
C3 = abs(C2)
[C4, C5] = min(C3)
Look in the documentation for each command:
help transpose
help bsxfun
help mtimes
help abs
help min
Or read the more exhaustive documentation by replacing "help" with "doc".
Más respuestas (1)
kate hughes
el 21 de Oct. de 2014
Just to be clear this doesn't work on matrices or arrays of different size, does anyone know what does?
0 comentarios
Ver también
Categorías
Más información sobre Operators and Elementary Operations en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!