when using intersect function i need all rows of B and matching rows of A. how can i do it?
1 view (last 30 days)
Show older comments
i have two varibales A and B of variable sizes for each iteration. lets take first iteration. in 1st iteraton i want to find all rows & column values of B and rows of A which matches with B. and for rows which are not matching i want as zero as given below. like 8542 is not present in A but present in B so in old id column for 8542 i want as zero.
eg.
A id B id
2451 10 2451 15
2554 5 2554 7
5419 2 5419 5
8542 9
i want output like this
B id old id
2451 15 10
2554 7 5
5419 5 2
8542 9 0
0 Comments
Accepted Answer
Stephen23
on 22 Nov 2021
T1 = array2table([2451,10;2554,5;5419,2],'VariableNames',{'A','id'})
T2 = array2table([2451,15;2554,7;5419,5;8542,9],'VariableNames',{'B','id'})
[X,Y] = ismember(T2.B,T1.A);
Y(X) = T1.id(Y(X));
T2.old_id = Y
More Answers (0)
See Also
Categories
Find more on Get Started with MATLAB 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!