Compare two arrays of different length
조회 수: 3 (최근 30일)
이전 댓글 표시
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
채택된 답변
Walter Roberson
2012년 12월 18일
[junk, Aidx] = min(abs(bsxfun(@minus,A.',B)));
댓글 수: 3
Jan
2012년 12월 18일
@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".
추가 답변 (1개)
kate hughes
2014년 10월 21일
Just to be clear this doesn't work on matrices or arrays of different size, does anyone know what does?
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!