Si vous avez étudié le contrôle, je voudrais laisser le programme calculer réellement la ** réponse de pas unitaire ** familière et la générer dans le graphique.
** Sous réserve de cet article **
\frac{d^{2}x(t)}{dt^{2}} + \alpha \frac{dx(t)}{dt} + \beta x(t) = u(t)
Cette fois, je voudrais créer un programme pour le système illustré par l'équation différentielle ci-dessus. Etant donné que le calcul est compliqué et gênant dans un tel modèle mathématique, dans le champ de commande, la conversion de Laplace est utilisée pour convertir la région temporelle en région fréquentielle avant d'effectuer le calcul. Cependant, si vous laissez l'ordinateur le calculer, il sera dérivé en un instant.
Python est installé par défaut sur Mac (OS X / macOS). S'il est trop ancien, il faudra peut-être le mettre à jour, mais nous l'omettons ici.
Python utilise un système de gestion de paquets appelé «pip». Le paquet installé ici peut être lu et utilisé du côté programme comme ʻimport. Si vous êtes invité à mettre à jour, exécutez
pip install --upgrade pip`.
$ pip install numpy
Requirement already satisfied: numpy in /usr/local/lib/python2.7/site-packages
$ pip install scipy
Collecting scipy
Downloading ..... (21.8MB)
.....
Installing collected packages: scipy
Successfully installed scipy-0.18.1
$ pip install matplotlib
Collecting matplotlib
Downloading ..... (11.2MB)
.....
Installing collected packages: ..... pytz, pyparsing, matplotlib
Successfully installed ..... pytz-2016.7 six-1.10.0
Écrivez le programme suivant dans votre éditeur préféré et enregistrez-le avec l'extension py
.
sample.py
from scipy.integrate import odeint
from math import *
import numpy
import matplotlib.pyplot as plot
#Changeons
alpha = 17
beta = 777
def derivative(x, t):
dx = [ x[1], - beta * x[0] - alpha * x[1] + 1.0 ]
return dx
x_init = [0.0, 0.0]
time = numpy.linspace(0.0, 5.0, 10000)
x = odeint(derivative, x_init, time)
#Partie de sortie
plot.figure()
plot.plot(time, x[:, 0])
plot.show()
Si vous passez le nom du fichier programme comme argument à python, il sera exécuté.
$ ls
sample.py
$ python sample.py
Recommended Posts