⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matlab.txt

📁 用impz()函数求冲激响应:用filter()函数求冲激响应 用filter()函数求余弦输入响应:用conv()函数求余弦响应:
💻 TXT
字号:
% (1) 用impz()函数求冲激响应:
M=100;
num=[1 -1 0];
den=[1 0.75 0.125];
y=impz(num,den,M);
subplot(2,2,1);
stem(y);
xlabel('时间');
ylabel('振幅');
title('单位冲激响应:impz()函数方法')


% (2) 用filter()函数求冲激响应:
n=0:100;
x=[1 zeros(1,100)];          
num=[1 -1 0];
den=[1 0.75 0.125];
y=filter(num,den,x);       %filter函数给出的点数与输入的x序列点数一样,所以为了不漏点,输入序列的点数尽量多补0,但用此函数求冲激响应不好
subplot(2,2,2);
stem(n,y);
xlabel('时间');
ylabel('振幅');
title('单位冲激响应:filter()函数方法')


% (3) 用filter()函数求余弦输入响应:
n=0:100;
x=cos(2*pi*0.47*n);
num=[1 -1 0];
den=[1 0.75 0.125];
y=filter(num,den,x);          %注意:“>>”后加一个空格再写指令,这样就可以直接COPY到MATLAB的命令窗执行,%是注释符号
subplot(2,2,3);
stem(n,y)
xlabel('时间');
ylabel('振幅');
title('余弦输入响应: filter()函数方法')

% (4) 用conv()函数求余弦响应:
n=0:100;
x1=cos(2*pi*0.47*n);
x2=[1 zeros(1,100)];
num=[1 -1 0];
den=[1 0.75 0.125];
y=filter(num,den,x2);
z=conv(x1,y);            % z的点数为x1的加上y(也即X2的)的再减1
subplot(2,2,4);
m=0:200;
stem(m,z);               % conv()可以显示201点,而用filter()仅显示101点
axis([0 100 -10 10]);       % 为了便于比较两种方法的值,减小本方法的横坐标尺度与filter()方法匹配
xlabel('时间');
ylabel('振幅');
title('余弦输入响应:conv()函数方法')

% (5) 系统零极点分布图:
num=[1 -1 0];
den=[1 0.75 0.125];
zplane(num,den);
grid

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -