Move a columns to the right

8 visualizaciones (últimos 30 días)
Nour BS
Nour BS el 10 de En. de 2016
Comentada: Star Strider el 10 de En. de 2016
Hello everyone, How can I move/shift a set of columns in an array to the right? For example I have
B= [1 3 4 5 2 4; 2 8 6 7 9 8]
and I want to get this result:
S= [1 3 2 4 5 4; 2 8 9 6 7 8].
How can I do this? thank you in advance.

Respuesta aceptada

Star Strider
Star Strider el 10 de En. de 2016
The only way I can think of to do it is to use the circshift function on columns 3:5:
S = [B(:,1:2) circshift(B(:,3:5),[0 1]) B(:,6)];
  6 comentarios
Nour BS
Nour BS el 10 de En. de 2016
thanks a lot :))))))
Star Strider
Star Strider el 10 de En. de 2016
As always, my pleasure!
If you want to rotate your matrices up-down one position instead of left-right one position, the circshift call would be:
S = circshift(B, [-1 0]);
With only two rows, the sign doesn’t have any noticeable effect. With larger matrices, it would.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Shifting and Sorting Matrices 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