19...1.2025
Meine Suche im Net nach 'Tools für Simulationen'
ergab eine Fülle von hochprofessionellen
Angeboten für Industrie, Handel und Forschung.
Gleichzeitig fand ich unter Python
auch einen Hinweis auf die
Anwendung von Differenzialgleichungen
für die Durchführung von Simulationen.
Mit Sicherheit spielen DGL auch im Proflbereich eine Rolle.
Hier stelle ich eine DGL aus meinem Archiv vor.
Die dreivorhandenen Abhängigkeiten (Funktionen) können
ohne weiteres auf andere Objekte übertragen werden.
Ich habe nochweitere DGLs untersucht und für geeignet
gefunden,
Gute Zeit OSWALD
Code: Alles auswählen
# SIMULATION mit DGL als 'Tool'
import numpy as np
from scipy.integrate import odeint
#Patienten,Infektionen, Geheilte
import matplotlib.pyplot as plt
#Die Anfangsbedingungen werden zuerst gesetzt:
S0, I0, R0 = 500,1, 1
#und ebenso die Modellparameter alpha und beta:
alpha, beta = 0.001, 0.01
#Die rechten Seiten der Differentialgleichungen
# werden als eine vektor-wertige Funktion geschrieben:
def deriv(u, t, alpha, beta):
S, I, R = u
dSdt = -alpha * S * I
dIdt = alpha * S * I - beta * I
dRdt = beta * I
return dSdt, dIdt, dRdt
#dann setzen wir auch die Anfangsbedingungen als Vektor der Werte S0, I0 und R0:
y0 = S0, I0, R0
#wir möchten die Lösung zu diskreten Zeitschritten bestimmen und
#legen dafür ein Zeitintervall und Zeitschritte fest:
T = np.linspace(0, 100, 200)
#Anschließend lösen wir das S-I-R Modells zu den diskreten Zeitpunkten:
ret = odeint(deriv, y0, T, args=(alpha, beta))
S, I, R = ret.T
# Jetzt wird die Anzahl für jeden Zeitpunkt bestimmt
##Mit Hilfe der matplotlib Erweiterung können wir das Ergebnis visualisieren:
plots = plt.plot(T, S, 'b', alpha=0.5, lw=2, label='Probanden') \
+ plt.plot(T, I, 'r', alpha=0.5, lw=2, label='infiziert') \
+ plt.plot(T, R, 'g', alpha=0.5, lw=2, label='geheilt,immun')
plt.xlabel('Zeit [Tage]')
plt.ylabel('Probanten')
plt.legend(handles=plots)
plt.grid()
plt.title("Ist DGL als 'Tool für Simulation' geeignet ? JA")
plt.show()