How to rearrange matrix and delet similar value ?

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

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 16 Jun. 2014
Bearbeitet: Andrei Bobrov am 17 Jun. 2014

0 Stimmen

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 Kommentare

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
Please see code in my answer after word 'add'.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Mech
Mech am 16 Jun. 2014

0 Stimmen

Andrei Bobrov waiting you :)

5 Kommentare

Please try reading the documentation.
doc unique
Mech
Mech am 16 Jun. 2014
How ???
Type
doc unique
in the command editor and press "Enter"
Mech
Mech am 16 Jun. 2014
Dosent work
José-Luis
José-Luis am 16 Jun. 2014
That's not a very useful statement, I'm afraid. You could always google, as all the documentation is online.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Sparse Matrices finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by