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 Comments

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

Sign in to comment.

Answers (2)

unique(A,'rows')

1 Comment

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

Sign in to comment.

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

Categories

Asked:

on 12 Oct 2011

Community Treasure Hunt

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

Start Hunting!