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

0 Stimmen

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

I think Roger meant
A = ' 10110110010001100001111111111011100'
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

0 Stimmen

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 Hilfe-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