如何在 matlab 中定义 n×n 传递函数矩阵?我只需要初始化它,因为我将在我的代码的第二部分使用正确的 tf 加载它。
我尝试了定义:
MATRIX=zeros(n);
但 MATRIX 的每个元素都是 double 类型。我希望每个元素都是 tf 数据类型。
如何在 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
模型。