vector Shift

18 次查看(过去 30 天)
Mohamed mohamed
Mohamed mohamed 2011-9-12
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 ?

回答(1 个)

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

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by