matlab离散系统时域零输入响应怎么写
时间: 2023-07-26 07:32:10 浏览: 382
MATLAB教学视频:MATLAB实现离散时间系统的时域分析
MATLAB中计算离散系统的零输入响应可以使用函数`impz`或`dimpulse`。这两个函数都可以计算离散系统的单位冲击响应,从而通过卷积得到零输入响应。
`impz`函数的语法为:
```
[h, t] = impz(b, a, n)
```
其中,`b`和`a`分别是系统的差分方程系数,`n`表示单位冲击响应的长度。函数返回值`h`是单位冲击响应的值,`t`是时间轴上的取样点。我们可以通过以下代码计算离散系统的零输入响应:
```
% 系统差分方程式
b = [1, 0.5, 0.25];
a = [1, -1.2, 0.35];
% 计算单位冲击响应
[h, t] = impz(b, a, 20);
% 绘制单位冲击响应图像
stem(t, h);
title('单位冲击响应');
xlabel('n');
ylabel('h(n)');
% 计算零输入响应
x = [1, 2, 3, 4, 5];
y = conv(h, x);
% 绘制零输入响应图像
stem(0:length(y)-1, y);
title('零输入响应');
xlabel('n');
ylabel('y(n)');
```
以上代码中,我们通过`impz`函数计算了离散系统的单位冲击响应,并绘制了其图像。然后,我们将一个输入信号`x`与单位冲击响应进行卷积,得到了系统的零输入响应,并绘制了其图像。
另一个计算离散系统零输入响应的函数是`dimpulse`。该函数的语法与`impz`函数类似,但是可以直接输出零输入响应。以下是使用`dimpulse`函数计算离散系统零输入响应的代码:
```
% 系统差分方程式
b = [1, 0.5, 0.25];
a = [1, -1.2, 0.35];
% 计算零输入响应
[y, t] = dimpulse(b, a, 20);
% 绘制零输入响应图像
stem(t, y);
title('零输入响应');
xlabel('n');
ylabel('y(n)');
```
以上代码中,我们直接使用`dimpulse`函数计算离散系统的零输入响应,并绘制了其图像。
阅读全文