Pythonでナイキスト線図を書く

python

これの続き。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()

コメント

タイトルとURLをコピーしました