Value swapping

1 Ansicht (letzte 30 Tage)
developer
developer am 8 Sep. 2011
Hello,
I have a matrix
x =
7 8
7 13
1 7
3 7
i want to search all 7 and shift to the first column and the corresponding value to the other coloumn, like
x =
7 8
7 13
7 1
7 3

Akzeptierte Antwort

Grzegorz Knor
Grzegorz Knor am 8 Sep. 2011
x(x(:,2)==7,:) = fliplr(x(x(:,2)==7,:))
  2 Kommentare
developer
developer am 8 Sep. 2011
Thanks :)
Grzegorz Knor
Grzegorz Knor am 8 Sep. 2011
similar solution:
x(x(:,2)==7,end:-1:1) = x(x(:,2)==7,:)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Paulo Silva
Paulo Silva am 8 Sep. 2011
x = [ 7 8
7 13
1 7
3 7]
f2=find(x(:,2)==7)+size(x,1);
f1=find(x(:,1)~=7);
tmp1=x(f1);
x(f1)=x(f2);
x(f2)=tmp1;
x
Grzegorz Knor solution seems to be better, I didn't test it.
  1 Kommentar
developer
developer am 8 Sep. 2011
Thanks :)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by