n=0:9;x1=[(n-0)==0];
x2=2*[(n-1)==0];
x3=3*[(n-2)==0];
x4=4*[(n-3)==0];
x5=5*[(n-4)==0];
x=x1+x2+x3+x4+x5;
y=seqshift(x,n,3);subplot(2,1,1);
stem(n,x);
xlabel('n');
ylabel('x');
axis([0,12,0,6]);
title('x(n)');
subplot(2,1,2);stem(n,y);
xlabel('n');
ylabel('y');
axis([0,12,0,6]);
title('x(n-3)');
这是移位的子程序
function [y,ny] = seqshift(x,nx,n0)
% [y,ny] = seqshift(x,nx,n0)
% -------------------------
% 实现 y(n) = x(n-n0)
% n0为平移样本数
ny = nx + n0; % 位置向量移位
y = x; % 序列的值不变