Bit missing after circular shift

8 visualizzazioni (ultimi 30 giorni)
Amrita  K
Amrita K il 11 Apr 2016
Modificato: Amrita K il 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 Commenti
Azzi Abdelmalek
Azzi Abdelmalek il 11 Apr 2016
Can you post an example?
Amrita  K
Amrita K il 11 Apr 2016
Modificato: Image Analyst il 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

Accedi per commentare.

Risposta accettata

Roger Stafford
Roger Stafford il 11 Apr 2016
Modificato: Roger Stafford il 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 Commenti
Roger Stafford
Roger Stafford il 11 Apr 2016
Yes, I did mean that. Thanks Walter.
Amrita  K
Amrita K il 12 Apr 2016
Modificato: Amrita K il 12 Apr 2016
Thank you Sir, it's working. Appreciate it.

Accedi per commentare.

Più risposte (1)

Image Analyst
Image Analyst il 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!

Categorie

Scopri di più su Entering Commands in Help Center e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Community Treasure Hunt

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

Start Hunting!

Translated by