shift.m

来自「此程序为DS-CDMA链路中加入基于子空间的PASTd多用户检测方法。系统中采用」· M 代码 · 共 40 行

M
40
字号


% Program 5-3
% shift.m
%
% Shift the contents of the register
%
% Programmed by yixiongshu,2006.8.9
function [outregi]=shift(inregi,shiftr,shiftu)
%
% inregi : Vector or matrix
% shiftr :  The amount of shift to the right.
% shiftu : The 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(:,1-shiftr:v);
    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 + -
显示快捷键?