Intersect - extraction of row data based on matched results
    4 views (last 30 days)
  
       Show older comments
    
Hi everyone, new to matlab codes and need help. Please see attached image. I have 2 datasets, Data1 and Data2. I want to compare each date/time in Data2 to the first column of Data1 and if a match if found, extract all the corresponding row data in Data2 for those matched date/time. In the attached image, comparing the date/time in Data2 to Data1, two matches were found, row 1 and 4 in Data1. The centire corresponding row data for those matched date/time in Data1 are extracted into another matrix called Result. 
Any hint or code to go about this?
Thank you!

0 Comments
Answers (1)
  Arif Hoq
      
 on 18 Mar 2022
        
      Edited: Arif Hoq
      
 on 18 Mar 2022
  
      date1=[44562.00;44563.00;44564.00];
date2=[44562.00;44564.00];
a={'t1';'t2';'t3'};
b=[1;1;1];
c=[2;3;4];
T1=table(a,b,c);
[Lia,Locb]=ismember(date2,date1);
result=T1(Locb,:)
6 Comments
  Arif Hoq
      
 on 20 Mar 2022
				You can swap the input arguments to ismember. check the value in Locb
date1=[44562	44563	44564	44563	44562	44565	44566	44567	44568	44569	44570	44571]';
date2=[44562	44563	44564	44563	44562];
[Lia,Locb]=ismember(date1,date2)
See Also
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!

