Compare two arrays of different length
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Joe Abraham
le 18 Déc 2012
Réponse apportée : kate hughes
le 21 Oct 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 commentaires
Réponse acceptée
Walter Roberson
le 18 Déc 2012
[junk, Aidx] = min(abs(bsxfun(@minus,A.',B)));
3 commentaires
Jan
le 18 Déc 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".
Plus de réponses (1)
kate hughes
le 21 Oct 2014
Just to be clear this doesn't work on matrices or arrays of different size, does anyone know what does?
0 commentaires
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!