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 ?

回答 (1 件)

Paulo Silva
Paulo Silva 2011 年 9 月 12 日

4 投票

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.

サインインしてコメントする。

タグ

質問済み:

2011 年 9 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by