Compare/match elements of 2 vector data
Show older comments
I would like to compare/match elements of 2 vector data, the goal is to select the elements which element-wise from the 2 vectors are different not greater than 3. Then output are the 2 new vector with have the same length and its elements are arranged in order. The size of the 2 vectors (before processed) is arbitrary.
Ex. A = [11 38 49 84 96 117 157 176 200]
B = [10 28 37 48 84 157 175 200]
Compare by element which abs(A(i) - B(j)) <= 3 Then the output should be
A_new = [11 38 49 84 157 176 200]
B_new = [10 37 48 84 157 175 200]
Can anyone guide me how to write MATLAB code for this problem? I used 2 nested loop but got stuck with empty set fault.
Thank you.
Accepted Answer
More Answers (1)
Image Analyst
on 6 Apr 2014
Seems ambiguous to me. What would you do in this case:
Ex. A = [11 38 39 84 96 117 157 176 200]
B = [10 28 37 48 84 157 175 200]
If the 38 moves to position 2 to be associated with the 38, then what does 39 get associated with? Is it compared to the 37, or with the 48 because the values "slide over."
What about these arrays:
Ex. A = [1 1 1 1 1 1 1]
B = [2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3]
3 Comments
Bundit Buddhahai
on 7 Apr 2014
Edited: Image Analyst
on 7 Apr 2014
Image Analyst
on 7 Apr 2014
Where did 49 come from? That was NOT in my example. Anyway, why not just do a pair of nested for loops?
Bundit Buddhahai
on 8 Apr 2014
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!