shift.m
来自「一些基于CDMA的编码程序」· M 代码 · 共 42 行
M
42 行
% Program CDMA-4
% shift.m
%
% shift the contens of the register.
%
function [outregi] = shift(inregi, shiftr, shiftu)
% -----------------------------------------------------------
% inregi : Vector or matrix
% shiftr : The amount of shift to the right.
% shiftu : thr amount of shift to the top
% outregi : Register output
% ------------------------------------------------------------
[h, v] = size(inregi);
outregi = inregi;
shiftr = rem(shiftr,v);
shiftu = rem(shiftu,h);
if shiftr > 0
outregi(:,1:shiftr) = inregi(:,v-shiftr+1:v);
outregi(:,1+shiftr:v) = inregi(:,1:v-shiftr);
elseif shiftr < 0
outregi(:,1:v+shiftr) = inregi(L,1-shiftr:h,:);
outregi(:,v+shiftr+1:v) = inregi(:,1:-shiftr);
end
inregi = outregi;
if shiftu > 0
outregi(1:h-shiftu,:) = inregi(1+shiftu:h,:);
outregi(h-shiftu+1:h,:) = inregi(1:shiftu,:);
elseif shiftu < 0
outregi(1:-shiftu,:) = inregi(h+shiftu+1:h,:);
outregi(1-shiftu:h,:) = inregi(1:h+shiftu,:);
end
% ----------------------- end of file -----------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?