【发布时间】:2017-10-31 00:37:32
【问题描述】:
如何在 matlab 中定义 n×n 传递函数矩阵?我只需要初始化它,因为我将在我的代码的第二部分使用正确的 tf 加载它。
我尝试了定义:
MATRIX=zeros(n);
但 MATRIX 的每个元素都是双精度类型。我希望每个元素都是 tf 数据类型。
【问题讨论】:
如何在 matlab 中定义 n×n 传递函数矩阵?我只需要初始化它,因为我将在我的代码的第二部分使用正确的 tf 加载它。
我尝试了定义:
MATRIX=zeros(n);
但 MATRIX 的每个元素都是双精度类型。我希望每个元素都是 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 模型。
【讨论】: