伝達関数(連続)【control】
伝達関数
control.matlab.tf() 関数を用いて、伝達関数で与えられたモデルを作ることができる。
code:tf1.py
from control import matlab as ctmt
G1 = ctmt.tf(1, 2, 3)
print(G1)
結果
code:result1.txt
<TransferFunction>: sys0
Inputs (1): ['u0']
Outputs (1): ['y0']
1
-------
2 s + 3
一次遅れ要素、二次遅れ要素
$ G_1(s) = \frac{K}{Ts + 1}, G_2 = \frac{K \omega^2_n}{s^2 + 2\zeta \omega_n s + \omega_n^2}
code:tf2.py
from control import matlab as ctmt
K1 = 1
T = 1
G1 = ctmt.tf(K1, T, 1)
print(G1)
K2 = 2
zeta = 1
omega = 1
G2 = ctmt.tf(K2, 1, 2 * zeta * omega, omega**2)
print(G2)
結果
code:result2.txt
<TransferFunction>: sys0
Inputs (1): ['u0']
Outputs (1): ['y0']
1
-----
s + 1
<TransferFunction>: sys1
Inputs (1): ['u0']
Outputs (1): ['y0']
2
-------------
s^2 + 2 s + 1