vector Shift

Hello guys, it there any direct command to shift vector cells for example A=[1 2 3 4 5] to be A=[0 0 1 2 3] what I am doing now is B = circshift(A,[1 2]); B[1:2]= zeros Any Comments ?

Respuestas (1)

Paulo Silva
Paulo Silva el 12 de Sept. de 2011

4 votos

A=[1 2 3 4 5]
B=zeros(size(A));
n=2; %Shift units
B(n+1:end)=A(1:end-n)

2 comentarios

Oleg Komarov
Oleg Komarov el 12 de Sept. de 2011
We thought the same you typed faster :).
Alternatively:
A = [zeros(n,1), A(1:end-n)]
Jan
Jan el 12 de Sept. de 2011
+1: For large arrays Oleg's one-lines needs more temporary memory.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 12 de Sept. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by