Einführung in Scipy
Einführung in Scipy
In diesem Tutorial werden wir die Grundlagen von Scipy erkunden, einer leistungsstarken wissenschaftlichen Rechenbibliothek für Python. Scipy bietet eine Vielzahl von Funktionen für mathematische, wissenschaftliche und ingenieurwissenschaftliche Anwendungen. Wir werden die folgenden Unterpunkte behandeln:
- Installation: Wie man die Scipy-Bibliothek auf Ihrem System installiert.
- Importieren von Scipy: Lernen Sie, wie man die Scipy-Bibliothek und ihre Untermodule importiert.
- Lineare Algebra: Führen Sie grundlegende Operationen der linearen Algebra mit Scipy durch.
- Numerische Integration: Erfahren Sie, wie man Funktionen numerisch mit Scipy integriert.
- Optimierung: Verwenden Sie Scipy für Optimierungsprobleme.
- Interpolation: Lernen Sie Interpolationsverfahren in Scipy kennen.
Lass uns anfangen!
1. Installation
Bevor Sie Scipy verwenden können, müssen Sie sicherstellen, dass es auf Ihrem System installiert ist. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
pip install scipy
2. Importieren von Scipy
Um Scipy verwenden zu können, importieren Sie es zusammen mit den spezifischen Untermodule, die Sie benötigen. Hier ist ein Beispiel zum Importieren von Scipy und dem Untermodule linalg (lineare Algebra):
import scipy
from scipy import linalg
3. Lineare Algebra
Das Untermodule für lineare Algebra von Scipy (scipy.linalg) bietet verschiedene Funktionen für grundlegende Operationen der linearen Algebra. Lassen Sie uns ein paar Beispiele erkunden:
Matrixinversion
import numpy as np
from scipy import linalg
A = np.array([[1, 2], [3, 4]])
A_inv = linalg.inv(A)
print(A_inv)
Ausgabe:
[[-2. 1. ]
[ 1.5 -0.5]]
Eigenwerte und Eigenvektoren
import numpy as np
from scipy import linalg
A = np.array([[1, 2], [3, 4]])
eigenwerte, eigenvektoren = linalg.eig(A)
print("Eigenwerte:", eigenwerte)
print("Eigenvektoren:", eigenvektoren)
Ausgabe:
Eigenwerte: [-0.37228132+0.j 5.37228132+0.j]
Eigenvektoren: [[-0.82456484 -0.41597356]
[ 0.56576746 -0.90937671]]
4. Numerische Integration
Das Untermodule für Integration von Scipy (scipy.integrate) ermöglicht uns die Durchführung numerischer Integration. Hier ist ein Beispiel mit der Funktion quad:
from scipy import integrate
ergebnis, fehler = integrate.quad(lambda x: x**2, 0, 2)
print("Ergebnis:", ergebnis)
print("Fehler:", fehler)
Ausgabe:
Ergebnis: 2.666666666666667
Fehler: 2.960594732333751e-14
5. Optimierung
Das Untermodule für Optimierung von Scipy (scipy.optimize) bietet leistungsstarke Werkzeuge für Optimierungsprobleme. Hier ist ein Beispiel mit der Funktion minimize:
from scipy import optimize
def f(x):
return (x[0] - 1)**2 + (x[1] - 2.5)**2
anfangsvermutung = [0, 0]
ergebnis = optimize.minimize(f, anfangsvermutung)
print(ergebnis)
Ausgabe:
fun: 4.429571755037639e-22
hess_inv: array([[0.49999999, 0.99999999],
[0.99999999, 2. ]])
jac: array([ 1.33226763e-08, -6.77626358e-08])
message: 'Optimization terminated successfully.'
nfev: 63
nit: 9
njev: 21
status: 0
success: True
x: array([1.00000002, 2.49999994])
6. Interpolation
Das Untermodule für Interpolation von Scipy (scipy.interpolate) ermöglicht uns die Durchführung von Dateninterpolation. Hier ist ein Beispiel mit der Funktion interp1d:
import numpy as np
from scipy import interpolate
x = np.array([0, 1, 2, 3, 4, 5])
y = np.array([0, 2, 4, 6, 8, 10])
f = interpolate.interp1d(x, y)
x_neu = np.array([1.5, 3.7])
y_neu = f(x_neu)
print("Interpolierte Werte:", y_neu)
Ausgabe:
Interpolierte Werte: [ 3. 7.4]
Herzlichen Glückwunsch! Sie haben nun die Grundlagen von Scipy gelernt. Experimentieren Sie mit diesen Konzepten und erkunden Sie die umfangreiche Funktionalität von Scipy, um Ihre wissenschaftlichen Rechenfähigkeiten weiter zu verbessern.