Compare two arrays of different length
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Joe Abraham
am 18 Dez. 2012
Beantwortet: kate hughes
am 21 Okt. 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 Kommentare
Akzeptierte Antwort
Walter Roberson
am 18 Dez. 2012
[junk, Aidx] = min(abs(bsxfun(@minus,A.',B)));
3 Kommentare
Jan
am 18 Dez. 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".
Weitere Antworten (1)
kate hughes
am 21 Okt. 2014
Just to be clear this doesn't work on matrices or arrays of different size, does anyone know what does?
0 Kommentare
Siehe auch
Kategorien
Mehr zu Operators and Elementary Operations 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!