ss2tf returns matlab RS2016a 中的意外值

ss2tf returns unexpected value in matlab RS2016a

我正在尝试将 state-space 模型转换为 matlab RS2016a 中的传递函数。我正在使用 ss2tf(A,B,C,D) 函数,根据文档,它完全符合我的需要。例如,我使用的静态增益为 2。

回答那个matlab returns:

>> ss2tf(0,0,0,2)
ans =
    2   0

*编辑: [2,0]表示s域中的传递函数2/0。以 0 作为分母的传递函数没有多大意义,在这种特殊情况下它是错误的。正确答案是 [2,1],表示传递函数 2/1 而不是 2/0。

*原文: [2,0]表示s域中的传递函数2/0。在我看来,答案应该是 [2,1],因此传递函数应该是 2/1 而不是 2/0。

预期答案:

>> ss2tf(0,0,0,2)
ans =
    2   1

是否有对此行为的解释?

ss2tf是一个有两个输出参数的函数,用两个输出参数调用它:

[b,a]=ss2tf(0,0,0,2)

您只读取了分母,而分母 a 在调用函数时丢失了。