MATLAB中两个多输入多输出的传递函数相除报错: 错误使用 / (第 65 行) In "SYS1/SYS2", the model SYS2 must have the same number of inputs as outputs.
这个错误提示是因为在MATLAB中,两个多输入多输出(MIMO)系统相除时,要求分子系统和分母系统具有相同的输入和输出端口数量。
解决这个问题的方法是确保两个系统具有相同的输入和输出端口数量。可以通过添加一个与所需的输入或输出端口数量相同的虚拟传递函数来实现。
举个例子,假设有两个传递函数分别为:
sys1 = tf([1 2 3],[4 5 6; 7 8 9]);
sys2 = tf([4 5 6],[1 2 3 4; 5 6 7 8]);
sys1 = tf([1 -1],[1 1]);
sys2 = tf([1 2],[1 4 5]);
sys = [sys1;sys2]
其中,sys1
具有两个输入和两个输出端口,而sys2
具有四个输入和两个输出端口。在将它们相除时,可以使用以下代码:
sys2_virtual = tf(zeros(2,4));
sys2_virtual(1:2,1:2) = sys2;
sys3 = sys1 / sys2_virtual;
这里,我们创建了一个名为sys2_virtual
的虚拟传递函数,它具有与sys2
相同的输出端口数量,但具有与sys1