y(n)-5y(n-1)+6y(n-2)=x(n)-3x(n-2) y(-1)=-2,y(-2)=1.x(n)=e 求此系统的冲激响应,阶跃响应 零状态响应,零输入响应,全响应,用matlab实现
时间: 2023-11-29 16:03:47 浏览: 66
smvp.rar_2D N-S_N-S方程_smvp_网格读取
根据所给差分方程和初始状态,我们可以将其转化为差分方程组的形式:
y(n) - 5y(n-1) + 6y(n-2) = x(n) - 3x(n-2)
其中,x(n) = e,y(-1)=-2,y(-2)=1。
根据差分方程组的定义,我们可以得到其传输函数:
H(z) = Y(z) / X(z) = 1 / (z^2 - 5z + 6) * (1 - 3z^-2)
通过对传输函数进行分解,我们可以得到系统的极点和零点:
系统的零点:无
系统的极点:1,2,3
接下来,我们可以使用Matlab中的函数进行求解:
```
clc
clear
% 定义差分方程的系数向量
a = [1, -5, 6];
b = [1, 0, -3];
% 定义初始状态
yi = [-2, 1];
xi = [exp(-2), 0];
% 求取差分方程的初始状态
xic = filtic(b, a, yi, xi);
% 定义输入序列
n = 0:50;
x = exp(-2 * n);
% 求取系统的冲激响应和阶跃响应
u1 = impseq(0, 50, 0);
u2 = stepseq(0, 50, 0);
y4 = filter(b, a, u1);
y5 = filter(b, a, u2);
% 绘制冲激响应和阶跃响应的图像
figure(1)
subplot(211)
stem(n, y4)
title('冲激响应')
subplot(212)
stem(n, y5)
title('阶跃响应')
% 求取系统的零输入响应、零状态响应和全响应
y1 = filter(b, a, zeros(1, length(n)), xic);
y2 = filter(b, a, x);
y3 = filter(b, a, x, xic);
% 绘制零输入响应、零状态响应和全响应的图像
figure(2)
subplot(221)
stem(n, y1)
title('零输入响应')
subplot(222)
stem(n, y2)
title('零状态响应')
subplot(223)
stem(n, y3)
title('全响应')
```
运行上述代码,即可求得该差分方程的冲激响应、阶跃响应、零输入响应、零状态响应和全响应,并绘制出相应的图像。需要注意的是,由于该系统存在极点,因此在绘制图像时可能会出现振荡的现象。
阅读全文