Zum Hauptinhalt springen

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:

  1. Installation: Wie man die Scipy-Bibliothek auf Ihrem System installiert.
  2. Importieren von Scipy: Lernen Sie, wie man die Scipy-Bibliothek und ihre Untermodule importiert.
  3. Lineare Algebra: Führen Sie grundlegende Operationen der linearen Algebra mit Scipy durch.
  4. Numerische Integration: Erfahren Sie, wie man Funktionen numerisch mit Scipy integriert.
  5. Optimierung: Verwenden Sie Scipy für Optimierungsprobleme.
  6. 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.