Compare two arrays of different length
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Joe Abraham
il 18 Dic 2012
Risposto: kate hughes
il 21 Ott 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 Commenti
Risposta accettata
Walter Roberson
il 18 Dic 2012
[junk, Aidx] = min(abs(bsxfun(@minus,A.',B)));
3 Commenti
Jan
il 18 Dic 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".
Più risposte (1)
kate hughes
il 21 Ott 2014
Just to be clear this doesn't work on matrices or arrays of different size, does anyone know what does?
0 Commenti
Vedere anche
Categorie
Scopri di più su Operators and Elementary Operations in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!