How to remove duplicate rows from a matrix?

I am running simulations with 5 inputs and 4 outputs for 1000 iterations. The results are stored in a 1000x9 Matrix. Lets name this 'Results'. Each of the rows correspond to one iteration. The first 5 columns in each row correspond to the input values and the last four columns in each row are the ouputs.
I need to remove the rows from the matrix which have the same input conditions. So for any 2 rows, say i and j
Results(i,1)==Results(j,1) && Results(i,2)==Results(j,2) && Results(i,3)==Results(j,3) && Results(i,4)==Results(j,4) && Results(i,5)==Results(j,5)
I have to remove either row i or row j
I would appreciate any and all help :)

 Risposta accettata

[~,b,c] = unique(Results(:,1:5),'rows','stable');
out = Results(b(histcounts(c,1:numel(b)+1) == 1),:);

Più risposte (0)

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Prodotti

Release

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by