common data in two arrays

1 view (last 30 days)
Lakshmi Chodavarapu
Lakshmi Chodavarapu on 26 Aug 2021
Edited: Lakshmi Chodavarapu on 26 Aug 2021
I have one array(c ) of 30Kx15 sixe and one structure array(r.data), 25Kx19 size. Need to find rows with similiar coloumn data from both arrays and join them. in a particular order. Using the following code. But found its too time taking. Can someone suggest effiicient code please
k=1;
for i=1:length(r.data)
for j=1:length(cdataf)
if(r.data(i,3:9)==c(j,3:9))
finaldata(k,:)=[c(j,1:9) r.data(i,10:13) c(j,10:15)];
k=k+1;
end
end
end
  4 Comments
Ive J
Ive J on 26 Aug 2021
what about this tiny modification?
[loc, lor] = ismember(cdataf(:, 3:9), r.data(:, 3:9), 'rows');
rd = r.data(lor(loc), 3:9);
Lakshmi Chodavarapu
Lakshmi Chodavarapu on 26 Aug 2021
Many thanks. It worked out well. Grateful to you.

Sign in to comment.

Answers (0)

Categories

Find more on Structures 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!