How to rearrange matrix and delet similar value ?

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 16 Giu 2014
Modificato: Andrei Bobrov il 17 Giu 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 Commenti
Mech
Mech il 16 Giu 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 il 17 Giu 2014
Please see code in my answer after word 'add'.

Accedi per commentare.

Più risposte (1)

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

Accedi per commentare.

Categorie

Scopri di più su Sparse Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by