exm046_1.m
来自「北京航空航天大学出版社张志涌、徐彦琴主编的matlab教程附带的mfile例程压」· M 代码 · 共 25 行
M
25 行
%exm046_1.m
%(1)产生给定序列a(n), b(n)
clear
a=ones(1,13);a([1,2,3])=0; %a时间序列应是0时刻算起,
b=ones(1,10);b([1,2])=0; %b时间序列应是0时刻算起,
%(2)直接卷积
c=conv(a,b);
%(3)通过变换求卷积
M=32;
AF=fft(a,M);BF=fft(b,M); %使用32至关重要 <6>
CF=AF.*BF; %必须采用点乘
cc=real(ifft(CF)); %过滤掉由于截断误差引起的虚部
%(4)图示计算结果
nn=0:(M-1); %保证绘图时,时间从0时刻开始 <9>
c(M)=0; %使直接卷积所得序列通过尾部补0,与cc长度相同
error=c-cc; %直接法和变换法所得卷积之差
clf
subplot(2,1,1),stem(nn,c,'fill'),grid,axis([0,31,0,9])
xlabel('nn'),ylabel('cc')
subplot(2,1,2),stem(nn,error,'fill'),axis([0,31,-1,1])
ylabel('error')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?