我不明白为什么scipy.signal.ss2tf()
andscipy.signal.StateSpace().to_tf()
会给出(相同的)意外结果。
例子:
A=[[0, 1, 0], [0, 0, 1], [-3, -4, -2]]
B=[[0], [0], [1]]
C=[[5, 1, 0]]
D=[[0]]
scipy 的结果是
num = array([[0, 0, 0, 4]]),
den = array([1., 2., 4., 3.])
在 Matlab 中,结果是
num = [0,0,1,5],
den = [1,2,4,3]
似乎分母总是对的,我试过其他例子,但是传递函数的分子不对应。
我是否以不正确的方式使用 scipy?
(另一个例子)
A=[[0, 1, 0], [0, 0, 1], [-8, -14, -7]]
B=[[0], [0], [1]]
C=[[15, 5, 0]]
D=[[0]]