vector Shift

85 views (last 30 days)
Mohamed mohamed
Mohamed mohamed on 12 Sep 2011
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 ?

Answers (1)

Paulo Silva
Paulo Silva on 12 Sep 2011
A=[1 2 3 4 5]
B=zeros(size(A));
n=2; %Shift units
B(n+1:end)=A(1:end-n)
  2 Comments
Oleg Komarov
Oleg Komarov on 12 Sep 2011
We thought the same you typed faster :).
Alternatively:
A = [zeros(n,1), A(1:end-n)]
Jan
Jan on 12 Sep 2011
+1: For large arrays Oleg's one-lines needs more temporary memory.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!