伝達関数の出力の計算
controlパッケージの、lsim関数を用いる。
入力値と出力値が表示されるプログラムになっている。
from control.matlab import *
import numpy as np
import matplotlib.pyplot as plt
#伝達関数の準備
N = [200] #分子
D = [1,5,20] #分母
trans = tf(N,D)
print(trans)
#時間データの準備
t = np.linspace(0,10,1000)
#入力データの準備
u = []
for i in range(0,len(t)):
if 3<t[i]<7:
u.append(1)
else:
u.append(0)
#出力データの計算
y, T,x = lsim(trans, u, t)
plt.plot(T,y)#出力
plt.plot(T,u)#入力
plt.show()