Mit Python und Numpy lassen sich Differentialgleichungen mit Hilfe des expliziten Euler-Verfahrens lösen. Der folgende Code ist hierfür ein Beispiel. Er kann im nachfolgenden Repl.it-Fenster direkt ausgeführt werden.
import numpy as np import matplotlib.pyplot as plt def f(x): return (x+1)**(-2) * np.sin(2*np.pi*x) startwert = 1 def euler(x, y0, fx): '''Numerische Lösung einer Differentialgleichung. x ist ein Array der Stützstellen. y0 ist die Anfangsbedingung. fx ist die Funktion f(x).''' N = len(x)-1 y = np.zeros(N+1) y[0] = y0 dy = fx(x) # Ableitungen von y an Stellen x_k h = (x[len(x)-1] - x[0])/N for k in range(N): y[k+1] = y[k] + h*dy[k] return y fig, ax = plt.subplots() for n in [1000, 200, 50, 20]: x = np.linspace(0, 5, n+1) y = euler(x, startwert, f) ax.plot(x, y, label='N='+str(n)) ax.set_xlabel('x') ax.set_ylabel('y(x)') ax.set_title("Eulerverfahren") ax.legend() plt.show()