Compare each row of data with another vector data

2 views (last 30 days)
Hi all, I have two vectors each of two columns, different row length.
A B
I would like to check each row of A with each/all of B (they have different row lengths) and would like to assign '1' for each row A if its value falls in any of row B's values. I could able to achieve the answer in case of one column. Any help in this regard highly appreciated. I have include the data here.

Accepted Answer

Matt J
Matt J on 22 Nov 2022
tmp=[discretize(A,[B(:,1);inf],'Inc','left'),...
discretize(A,[-inf;B(:,2)],'Inc','right')];
out=all(tmp==tmp(:,1),2);

More Answers (1)

Matt J
Matt J on 22 Nov 2022
out=any(A(:,1)>=B(:,1).' & A(:,2)<=B(:,2).',2);
  3 Comments
Matt J
Matt J on 22 Nov 2022
Edited: Matt J on 22 Nov 2022
Looks like you accepted the other one by mistake. However, I think the answer below is in fact the most efficient.
Ganesh Naik
Ganesh Naik on 25 Nov 2022
Hi Matt thanks, I have accepted this answer now.

Sign in to comment.

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!