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 commentaires

Walter Roberson
Walter Roberson le 26 Août 2021
Look at ismember() with the 'rows' option.
Lakshmi Chodavarapu
Lakshmi Chodavarapu le 26 Août 2021
Modifié(e) : Lakshmi Chodavarapu le 26 Août 2021
Many thanks Mr.Walter Roberson. Helped me a lot.
Ive J
Ive J le 26 Août 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 le 26 Août 2021
Many thanks. It worked out well. Grateful to you.

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by