Mathematik für Ingenieure mit Python

Mathematische Grundlagen
www.grund-wissen.de/mathematik
WinPython
Alles was man für Mathematik mit Python unter Windows braucht.
winpython.sourceforge.net
Download WinPython
Python-Code
vollständiger Python-Code: dgl_harmonischer_oszillator.py

Die DGL des harmonischen Oszillators mit Scipy lösen

Eine DGL 2.Ordnung

Analytische Lösung

Zwei gekoppelte DGLs 1.Ordnung


import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint

om = 4                    # Hz
z0 = [1.5, -5.7]          # Anfangsbedingungen
t = np.linspace(0,10,400)  # 400 Zeitschritte von 0 bis 10s

# F     = (x, y)
# dF/dt = (y, -om^2 x)
def dF(z,t):
    return[ z[1], -(om**2)*z[0] ]

# Zwei gekoppelte DGLs 1.Ordnung numerisch loesen
z = odeint(func=dF, y0=z0, t=t)

plt.plot(t, z0[0]*np.cos(om*t) + z0[1]/om*np.sin(om*t), label="analytisch")
plt.plot(t, z[:,0], "rx",                               label="odeint")
plt.legend()
plt.grid(True)
plt.show()