Bit missing after circular shift

8 vues (au cours des 30 derniers jours)
Amrita  K
Amrita K le 11 Avr 2016
Modifié(e) : Amrita K le 12 Avr 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 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 11 Avr 2016
Can you post an example?
Amrita  K
Amrita K le 11 Avr 2016
Modifié(e) : Image Analyst le 11 Avr 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

Connectez-vous pour commenter.

Réponse acceptée

Roger Stafford
Roger Stafford le 11 Avr 2016
Modifié(e) : Roger Stafford le 11 Avr 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 commentaires
Roger Stafford
Roger Stafford le 11 Avr 2016
Yes, I did mean that. Thanks Walter.
Amrita  K
Amrita K le 12 Avr 2016
Modifié(e) : Amrita K le 12 Avr 2016
Thank you Sir, it's working. Appreciate it.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 11 Avr 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!

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by