📄 example2_4.m
字号:
%本程序用来计算并演示两个信号之间的卷积的动画效果 程序名:example2_4.m
clear;close all
n0=-15;
n1=15;
t=n0:n1;
h=1.2.^(t).*(u(t)-u(t-7));
x=u(t)-u(t-5);
f=conv(x,h);%卷积计算
%将卷积的结果取得和两个输入的信号一样长,以便在相同的坐标中绘制其图形并方便比较。
l=length(f);
m=2*n0:n0-1;
n=n1+1:2*n1;
m1=zeros(1,abs(n0));
p1=zeros(1,abs(n1));
lm=length(m1);
ln=length(p1);
f=f([lm+1:l-ln]);
c=u(-t);
%计算移位长度
hl=fliplr(h);
l=length(hl);
k0=min(find(hl))+length(find(hl));
v0=min(find(f));
w0=min(find(x));
if k0<=w0
q=3;
else
q=k0-w0+5;
end
for i=1:q
y=hl(1);
for j=1:l-1
hl(j)=hl(j+1);c(j)=c(j+1);
end
hl(l)=y;c(l)=0;
end
%以下程序绘制激励信号和系统冲激响应的波形
clf;
subplot(4,2,1);stem(t,x,'.');hold on;axis([-10,10,0,3.5])
subplot(4,2,2);
stem(t,h,'r.');hold on;axis([-10,10,0,3.5])
%下段程序实现移位动画
b=q+length(find(f));
for i=1:b
for j=l-1:-1:1
hl(j+1)=hl(j);
c(j+1)=c(j);
end
c(1)=1;
hl(1)=0;
subplot(4,1,3);
stem(t,hl,'r.');
subplot(4,1,2);stem(t,x,'.');
hold off;
subplot(4,1,4);
stem(t,c.*f,'r.');axis([n0,n1,min(f),max(f)]);
pause;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -