これの続き。Pythonでナイキスト線図を書いてみた。
from control.matlab import *
import numpy as np
from matplotlib import pyplot as plt
N=100
t=np.linspace(1,10,N)
s = tf('s')
omega=1
zeta=0.1
P = omega ** 2/(s ** 2 + 2 * zeta * omega * s + omega ** 2)
G=feedback(P,1)
x,y,_=nyquist(G)
plt.figure(1)
plt.plot(x, y, 'k-')
plt.grid(color='k', linestyle='dotted', linewidth=1)
r = np.zeros(N)
r[0:100] = 1
y, t, x = lsim(G, r, t)
plt.figure(2)
plt.plot(t, y, 'k-')
plt.grid(color='k', linestyle='dotted', linewidth=1)
plt.show()
コメント