Bit missing after circular shift

12 Ansichten (letzte 30 Tage)
Amrita  K
Amrita K am 11 Apr. 2016
Bearbeitet: Amrita K am 12 Apr. 2016
I have noticed that after performing circular shift, the bit after the shift value is missing.
Shiftvalue = randi(2, n)
n is the max length of array
X = circshift(A, [1, Shiftvalue])
Problem : if Shiftvalue is 25, then the 26th bit is missing. Please help.
  2 Kommentare
Azzi Abdelmalek
Azzi Abdelmalek am 11 Apr. 2016
Can you post an example?
Amrita  K
Amrita K am 11 Apr. 2016
Bearbeitet: Image Analyst am 11 Apr. 2016
Shiftvalue = 27
A=[1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0]
X=010001100001111111111011100 10110110

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Roger Stafford
Roger Stafford am 11 Apr. 2016
Bearbeitet: Roger Stafford am 11 Apr. 2016
Your result can be accounted for if your A row vector is a string vector of 1's amd 0's except that its first element is a blank space character:
A = ' 10110110010001100001111111111011100' (<-- Corrected)
X = circshift(A,[1,27]);
X = 010001100001111111111011100 10110110
Note: The call for a shift of 1 in the rows does nothing to a row vector. Nevertheless you should really have 0 there to get zero shift in case you happen to deal with arrays with more than one row:
X = circshift(A,[0,27]);
  3 Kommentare
Roger Stafford
Roger Stafford am 11 Apr. 2016
Yes, I did mean that. Thanks Walter.
Amrita  K
Amrita K am 12 Apr. 2016
Bearbeitet: Amrita K am 12 Apr. 2016
Thank you Sir, it's working. Appreciate it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 11 Apr. 2016
This works just as expected for me:
ShiftValue = 27
A=[9 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0]
X = circshift(A, [0, ShiftValue])
% Element 1 (which is 9) should now be at element 28.
X(28) % It is 9, just as expected!

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by