matlab-创建传递函数矩阵

matlab-create a matrix of transfer function

如何在 matlab 中定义 n×n 传递函数矩阵?我只需要初始化它,因为我会在代码的第二部分用正确的 tf 加载它。

我试过定义:

MATRIX=zeros(n);

但是MATRIX的每个元素都是double类型。我希望每个元素都是 tf 数据类型。

您要创建 Model Array。该命令还取决于系统中输入和输出的数量。您可以使用例如:

创建它
MATRIX = tf(zeros(no_inputs, no_outputs, n, n));

如果 S/MIMO 系统有两个传递函数(实际上是 SISO 模型的串联):

s = tf('s')
h11 = (s-1)/(s+1)
h21 = (s+2)/(s^2+4*s+5)
% or
% h11 = tf([1 -1],[1 1])
% h21 = tf([1 2],[1 4 5]) 

它们可以连接起来形成 H(s)。

H = [h11; h21]

您也可以使用元胞数组直接通过 tf 传递:

h11 = {[1 -1];[1 2]}
h21 = {[1 1];[1 4 5]}
H = tf(N,D)

两者也适用于 zpk 模型。