matlab中离散已知离散系统输入和输出求传递函数和系统函数,代码
时间: 2024-03-19 17:44:58 浏览: 159
离散信号和系统分析的MATLAB实现.doc
假设已知离散系统的输入序列为 $u(n)$,输出序列为 $y(n)$,传递函数为 $H(z)$,系统函数为 $D(z)$,则可以通过以下步骤求解:
1. 将输入输出序列转换为 $z$ 变换域中的函数:
$$U(z) = \mathcal{Z}\{u(n)\}, \quad Y(z) = \mathcal{Z}\{y(n)\}$$
2. 根据传递函数和系统函数的定义,有:
$$Y(z) = H(z)U(z)$$
$$D(z) = \frac{Y(z)}{U(z)} = H(z)$$
因此,传递函数 $H(z)$ 可以通过输入输出序列直接计算得到:
$$H(z) = \frac{Y(z)}{U(z)} = \frac{\mathcal{Z}\{y(n)\}}{\mathcal{Z}\{u(n)\}}$$
3. 系统函数 $D(z)$ 可以通过传递函数 $H(z)$ 直接得到:
$$D(z) = H(z)$$
下面是 MATLAB 代码示例:
```matlab
% 输入输出序列
u = [1, 2, 3, 2, 1];
y = [0, 1, 3, 4, 4];
% 计算传递函数
H = zpk(tf(y, u, 1));
% 计算系统函数
D = H;
```
其中,`zpk` 函数将传递函数 $H(z)$ 转换为零极点增益形式,`tf` 函数将输入输出序列转换为传递函数的分子和分母系数。
阅读全文