Implement the body of the function rotationMatrix(),

3 views (last 30 days)
function M = rotationMatrix( Size, Shift )
% Generate a square permutation matrix if size Size.
% The permutation is a right rotation - the ROR operation.
% That is the right-multiplication of a row-vector by this matrix performs
% a cyclic shift of vectors positions - the ROR operation.
% The scalar shift specifies how many positions to rotate
% if negative, a ROL operation is performed.
% You cannot use any toolbox functions of cycles,
% just indexing of an identity matrix.
HOW DO THIS? I CANT FIND SOMFTHING FOR THIS
  9 Comments
Jan
Jan on 2 Nov 2022
@Steven Lord: Thanks.
@Ian: Please note that many members of this forum do not speak English natively. Then smart abbreviations are not cool, but confusing.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 3 Nov 2022
Hint:
v = 1:15
v = 1×15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
shift = 3;
vShifted = [v(end-shift+1 : end), v(1:end-shift)]
vShifted = 1×15
13 14 15 1 2 3 4 5 6 7 8 9 10 11 12
shift = -3;
vShifted = [v(-shift+1 : end), v(1:-shift)]
vShifted = 1×15
4 5 6 7 8 9 10 11 12 13 14 15 1 2 3

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!