[Ingénierie de contrôle] Représentation graphique des fonctions de transfert par Python

1.Tout d'abord

・ 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.

2. Référence

2.1. Livres

[1] Hiroki Minami, Ohm, "Introduction à l'ingénierie de contrôle avec Python"

2.2. Page Web

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

3. Fonction de transfert et représentation graphique

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)

step_20200224.png

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)

impulse_20200224.png

4. Conclusion

・ 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

[Ingénierie de contrôle] Représentation graphique des fonctions de transfert par Python
[Ingénierie de contrôle] Calcul des fonctions de transfert et des modèles d'espace d'états par Python
Contrôle d'instruments à l'aide de Python [pyvisa]
Syntaxe de contrôle Python, fonctions (mémo d'apprentissage Python ②)
Utilisation de variables globales dans les fonctions python
Fonctions Python
Essayez d'utiliser Python avec Google Cloud Functions
[Circuit x Python] Comment développer et calculer les fonctions de transfert à l'aide de Lcapy
Commencez à utiliser Python
# Bases de Python (fonctions)
[Débutant] Fonctions Python
Installer le contrôle Python
Fonctions Python faciles à utiliser
bases de python: fonctions
Scraping à l'aide de Python
Obtenez et automatisez le contrôle ASP Datepicker à l'aide de Python et Selenium
Guide du débutant Python (fonctions)
Manipuler Redmine à l'aide de Python Redmine
Séquence de Fibonacci utilisant Python
[Python] Mémo sur les fonctions
Nettoyage des données à l'aide de Python
[Azure] Essayez d'utiliser Azure Functions
Utilisation des packages Python #external
Câblage Communication Pi-SPI avec Python
Syntaxe de contrôle Python (mémoire)
Calcul de l'âge à l'aide de python
# 4 [python] Bases des fonctions
Fonction intégrée Python ~ Zip ~
Rechercher sur Twitter avec Python
Identification de nom à l'aide de python
Notes sur l'utilisation de sous-processus Python
Fonctions intégrées Wrap Python
Notes utilisant des fonctions triangulaires
Essayez d'utiliser Tweepy [Python2.7]
Contrôlez la lumière intelligente «Yeelight» de Python sans utiliser le cloud
La communication I2C est effectuée en contrôlant la communication série avec python (à l'aide d'un périphérique USBGPIO8)
Contrôle de la communication série avec communication python et SPI (à l'aide d'un périphérique USBGPIO8)