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

4 votes

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.

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by