how to remove repeating rows from a matrix?

I know "union" can be used to achieve this, for example, there is an A,
A =
1 2
1 2
1 3
B=union(a,a,'rows')
B =
1 2
1 3
but if A is big(In my case, A is a 20,000*30 matrix), it will be out of memory.
??? Out of memory. Type HELP MEMORY for your options.
ARE there simple ways to delete repeating arrows in a matrix? THX!

2 Commenti

Hi,
Are your repeating lines always one after another? If so, you could use diff and look for [0 0].
No, they are not always one after another.thx

Accedi per commentare.

Risposte (2)

unique(A,'rows')

1 Commento

Thx, Andrei, yes, it is more simple, but still out of memory in my real case

Accedi per commentare.

Or even simpler for quick remove :
A(2,:)=[]
will give you B.

Categorie

Richiesto:

il 12 Ott 2011

Community Treasure Hunt

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

Start Hunting!

Translated by