Value swapping

1 visualización (últimos 30 días)
developer
developer el 8 de Sept. de 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

Respuesta aceptada

Grzegorz Knor
Grzegorz Knor el 8 de Sept. de 2011
x(x(:,2)==7,:) = fliplr(x(x(:,2)==7,:))
  2 comentarios
developer
developer el 8 de Sept. de 2011
Thanks :)
Grzegorz Knor
Grzegorz Knor el 8 de Sept. de 2011
similar solution:
x(x(:,2)==7,end:-1:1) = x(x(:,2)==7,:)

Iniciar sesión para comentar.

Más respuestas (1)

Paulo Silva
Paulo Silva el 8 de Sept. de 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 comentario
developer
developer el 8 de Sept. de 2011
Thanks :)

Iniciar sesión para comentar.

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by