・ J'ai créé cette page après avoir reçu un commentaire sur la page qiita que j'ai écrite la dernière fois (https://qiita.com/sato235/items/f991411074c578d1640c) qu'il serait intéressant de sortir un graphique de forme d'onde et de le considérer.
[1] Hiroki Minami, Ohm, "Introduction à l'ingénierie de contrôle avec Python"
a) [1] page d'assistance aux auteurs, https://y373.sakura.ne.jp/minami/pyctrl b) Dernière page personnelle, https://qiita.com/sato235/items/f991411074c578d1640c c) Fonction graphique de la fonction matlab du module de commande, http://matsulib.hatenablog.jp/entry/2013/04/27/093008
Tout d'abord, importez le module.
import sympy
from control import matlab
import numpy as np
import matplotlib.pyplot as plt
Créer une fonction de transfert
Np = [0,1]
Dp = [1,2,3]
P = matlab.tf(Np, Dp)
print(P)
Sortie de la fonction de transfert
1
-------------
s^2 + 2 s + 3
Lorsqu'une fonction d'étape est entrée dans la fonction de transfert ci-dessus.
t = np.linspace(0, 3, 1000)
yout, T = matlab.step(P, t)
plt.plot(T, yout,label="test")
plt.axhline(1, color="b", linestyle="--")
plt.legend(bbox_to_anchor=(1, 0.25), loc='upper right', borderaxespad=0, fontsize=11)
Lorsqu'une fonction de réponse impulsionnelle est entrée dans la fonction de transmission P.
yout, T = matlab.impulse(P, t)
plt.plot(T, yout,label="test")
plt.axhline(0, color="b", linestyle="--")
plt.xlim(0, 3)
plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=0, fontsize=11)
・ J'ai appris que le module de contrôle a une fonction de calcul matlab. -De même, il y avait aussi une fonction de dessin de matplotlib. ・ Ensuite, je voudrais examiner les résultats obtenus en modifiant la fonction d'entrée.
Recommended Posts