伝達関数のステップ応答【control】
二次遅れ要素のステップ応答
code:step1.py
from control import matlab as ctmt
import matplotlib.pyplot as plt
K = 1
z = 0.1
w = 1
num = K
den = 1, 2 * z * w, w**2
G = ctmt.tf(num, den)
print(G)
yout, time = ctmt.step(G)
plt.plot(time, yout, '*-')
plt.show()
step関数は、出力と時刻を戻り値として返す。
https://scrapbox.io/files/6683b510633ce0001c609302.png
計算を行う時間区間や時刻を指定することができる。
code:step2.py
import numpy as np
from control import matlab as ctmt
import matplotlib.pyplot as plt
times = np.linspace(0, 10, 30)
K = 1
z = 0.1
w = 1
num = K
den = 1, 2 * z * w, w**2
G = ctmt.tf(num, den)
print(G)
yout, time = ctmt.step(G, T=times)
plt.plot(time, yout, '*-')
plt.show()
https://scrapbox.io/files/6683b6745a2c53001c19abeb.png
伝達関数のボード線図