vector Shift

17 vues (au cours des 30 derniers jours)
Mohamed mohamed
Mohamed mohamed le 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 ?

Réponses (1)

Paulo Silva
Paulo Silva le 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 commentaires
Oleg Komarov
Oleg Komarov le 12 Sep 2011
We thought the same you typed faster :).
Alternatively:
A = [zeros(n,1), A(1:end-n)]
Jan
Jan le 12 Sep 2011
+1: For large arrays Oleg's one-lines needs more temporary memory.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by