How to rearrange matrix and delet similar value ?

2 次查看(过去 30 天)
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

采纳的回答

Andrei Bobrov
Andrei Bobrov 2014-6-16
编辑:Andrei Bobrov 2014-6-17
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 个评论
Mech
Mech 2014-6-16
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

请先登录,再进行评论。

更多回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Live Scripts and Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by