How can I shift Right which is an array of numbers?

조회 수: 12 (최근 30일)
Micky
Micky 2013년 2월 14일
댓글: vishwajit jadhav 2020년 6월 26일
I need is a new shifted array and eventually I want to add the arrays.(New Shifted array + Original Array). Can I do something like e.g . aa =[11 22 33 44]; bb = aa(2:4); % this is shifting left It gives bb = [22 33 44], but one value is dropped out. If possible can someone provide method to shift right and how to pad the dropped out value appropriately so that the size of the new array remains same as the original array?

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 14일
편집: Azzi Abdelmalek 2013년 2월 14일
use circshift function
circshift(aa,[0 -1])
or
circshift(aa,[0 1])
  댓글 수: 7
Azzi Abdelmalek
Azzi Abdelmalek 2013년 2월 14일
편집: Azzi Abdelmalek 2013년 2월 14일
n=2
x= [11;22;33;44;55;66]
x=circshift(x,[n 0])
x(1:n)=0 % or what you want
Micky
Micky 2013년 2월 14일
Thanks for the help Azzi.

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Image Analyst
Image Analyst 2013년 2월 14일
Not quire sure what you're describing about not dropping off any values and having bb be the same size as aa, but how about this:
aa =[11 22 33 44];
bb = zeros(size(aa))
bb(2:4) = aa(2:4)
% or
bb1 = zeros(size(aa))
bb1(1:3) = aa(2:4)
In the command window:
bb =
0 22 33 44
bb1 =
22 33 44 0
You can see there is a zero and no value is dropped off or lost and the size of bb is the same as aa. If one of those methods is not what you want, explain in more detail.
  댓글 수: 3
Image Analyst
Image Analyst 2013년 2월 14일
편집: Image Analyst 2013년 2월 14일
My solution will work. You just have to generalize it to "k" instead of fixed numbers of 2:4 like your example.
x = [11;22;33;44;55;66]
% k = -2;
k = +2;
s = zeros(size(x));
if k >= 1
s(k+1:end) = x(1:end-k)
elseif k <= -1
s(1:end+k) = x(-k+1:end)
end
Micky
Micky 2013년 2월 14일
Thanks for the help.

댓글을 달려면 로그인하십시오.


komal
komal 2019년 6월 14일
Ques= x =[11;22;33;44]
i want this results
x = [0;11;22;33;44]
How can i do it:

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by