В Matlab существует система вывода 2 в 2:
tf1 =
Код: Выделить всё
-4
--------------------------------
1e06 s^3 + 30000 s^2 + 300 s + 1
Знаменатель: {[1000000 30000 300 1]}
tf2 =
Код: Выделить всё
0
Знаменатель: {[5600 150 1]}
tf3 =
Код: Выделить всё
0.75
--------------------
5600 s^2 + 150 s + 1
Знаменатель: {[5600 150 1]
MatlabCode:
Код: Выделить всё
sys=[tf1,tf2;tf3,0];
sys_ss=ss(sys);
Код: Выделить всё
sys_ss =
A =
x1 x2 x3 x4 x5
x1 -0.03 -0.0192 -0.008192 0 0
x2 0.01562 0 0 0 0
x3 0 0.007812 0 0 0
x4 0 0 0 -0.02679 -0.01143
x5 0 0 0 0.01562 0
B =
u1 u2
x1 0.25 0
x2 0 0
x3 0 0
x4 0.125 0
x5 0 0
C =
x1 x2 x3 x4 x5
y1 0 0 -0.1311 0 0
y2 0 0 0 0 0.06857
D =
u1 u2
y1 0 0
y2 0 0
Код: Выделить всё
import control
num11 = [0,0,0,-4]
num12 = [0,0,0]
num21 = [0,0,0.7500]
num22 = [0]
row1 = [num11, num12]
row2 = [num21, num22]
numerator = [row1, row2]
denominator = [
[[1000000, 30000, 300,1], [5600,150,1]],
[[5600,150,1], [1]]
]
G = control.tf(numerator,
denominator)
control.ss(G )
введите здесь описание изображения
Что мне здесь не хватает? Как я могу исправить ситуацию, чтобы получить тот же результат?
Подробнее здесь: https://stackoverflow.com/questions/792 ... tatesystem