How to rearrange matrix and delet similar value ?

1 view (last 30 days)
Hi guys
I have matrix and should rearrange matrix and delete similar value as next:
the origin matrix
0 0 10 150 150 0 125 150 0 10 125 150
0 0 80 0 0 70 80 55 70 80 80 55
what I need
0 0 10 125 150 150
0 70 80 80 55 0
What's program i need hould do:
  1. when values of column are similar then delete column that repeated
  2. rearrange column according first line

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 16 Jun 2014
Edited: Andrei Bobrov on 17 Jun 2014
a=[ 0 0 10 150 150 0 125 150 0 10 125 150
0 0 80 0 0 70 80 55 70 80 80 55]
out = unique(a.','rows')'
add
a0 = unique(a.','rows');
t = ismember(a0(:,1),a0(size(a0,1),1));
a0(t,2) = sort(a0(t,2),'descend');
out = a0.';
Please read about functions unique, size, ismember, sort.
  2 Comments
Mech
Mech on 16 Jun 2014
out =
0 0 10 125 150 150
0 70 80 80 0 55
thank you very much andrei
  1. Can you explane the command more than
  2. Can you add to command to put the value according 2nd line when the value of 1st line is same to have result like this :
0 0 10 125 150 150
0 70 80 80 55 0
Andrei Bobrov
Andrei Bobrov on 17 Jun 2014
Please see code in my answer after word 'add'.

Sign in to comment.

More Answers (1)

Mech
Mech on 16 Jun 2014
Andrei Bobrov waiting you :)
  5 Comments
José-Luis
José-Luis on 16 Jun 2014
That's not a very useful statement, I'm afraid. You could always google, as all the documentation is online.

Sign in to comment.

Categories

Find more on Operators and Elementary Operations 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!