有个matlab程序看不懂,请各位大神简单解释一下,本人没学过matble
subplot(2,1,1);plot(t,Dout);xlabel('时间');ylabel('幅度');title('滤波器输出信号时域波形')subplot(2,1...
subplot(2,1,1);plot(t,Dout);xlabel('时间');ylabel('幅度');title ('滤波器输出信号时域波形')
subplot(2,1,2);plot(f,fftshift(abs(PDout)));xlabel('频率');ylabel('幅度');title ('滤波器输出信号幅频特性'); 展开
subplot(2,1,2);plot(f,fftshift(abs(PDout)));xlabel('频率');ylabel('幅度');title ('滤波器输出信号幅频特性'); 展开
1个回答
展开全部
subplot(2,1,1);plot(t,Dout);xlabel('时间');ylabel('幅度');title ('滤波器输出信号时域波形')
subplot(2,1,1)指将一个这个图像画在两行一列的第一行,polt是画图,xlabel是横坐标名称,ylabel为纵坐标名称,title为整个图像的标题。
fftshift函数
作用:将零频点移到频谱的中间
用法:
Y=fftshift(X)
Y=fftshift(X,dim)
描述:fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将零频点放到频谱的中间对于观察傅立叶变换是有用的。
abs(PDout)是求PDout的绝对值。plot(f,fftshift(abs(PDout)))是以频率为横坐标以ftshift(abs(PDout))为总坐标画图。
subplot(2,1,1)指将一个这个图像画在两行一列的第一行,polt是画图,xlabel是横坐标名称,ylabel为纵坐标名称,title为整个图像的标题。
fftshift函数
作用:将零频点移到频谱的中间
用法:
Y=fftshift(X)
Y=fftshift(X,dim)
描述:fftshift移动零频点到频谱中间,重新排列fft,fft2和fftn的输出结果。将零频点放到频谱的中间对于观察傅立叶变换是有用的。
abs(PDout)是求PDout的绝对值。plot(f,fftshift(abs(PDout)))是以频率为横坐标以ftshift(abs(PDout))为总坐标画图。
追问
谢谢,再请问下面的程序
Dout=zeros (length(D),1);
for i=1:length(D)
if i <16
Dout(i) = D(i);
else
for j=1:16
Dout(i) = Dout(i)+D(i-16+j)*COEF(j);
追答
先创建一个和D长度相同行数,一列的零矩阵Dout。而后进入for循环,i从1到D的长度循环,而后判断如果i小于16的话,就将D的对应值赋值给Dout,否则Dout这样赋值Dout(i) = Dout(i)+D(i-16+j)*COEF(j);然后直到结束循环。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询