Numpy Python

Intervalle erstellen mit Numpy

In der numerischen Programmierung ist es oft notwendig, gleichmäßig verteilte Zahlenwerte oder Intervalle zu erstellen. Numpy bietet dafür mehrere nützliche Funktionen wie arange, linspace und logspace.


3 Minuten Lesezeit
11 Okt 2024
Intervalle erstellen mit Numpy

Was lerne ich in diesem Kurs?

Dieses Tutorial zeigt, wie diese Funktionen verwendet werden können, um Intervalle in Numpy zu erstellen.

Numpy-Installation

Falls numpy noch nicht installiert ist, kann es über pip installiert werden:

pip install numpy

1. Intervalle mit numpy.arange erstellen

Die Funktion numpy.arange ist eine einfache Methode, um gleichmäßig verteilte Werte zu erzeugen. Sie funktioniert ähnlich wie die Python-Funktion range, erstellt jedoch ein Numpy-Array.

Beispiel: Ein Intervall von 0 bis 9 mit arange erstellen

import numpy as np

# Ein Intervall von 0 bis 9 erstellen (Schrittweite 1)
intervall = np.arange(0, 10)

# Visualisierung des Intervalls
print("Intervall von 0 bis 9:\n", intervall)

Ausgabe:

Intervall von 0 bis 9:
 [0 1 2 3 4 5 6 7 8 9]

In diesem Beispiel wird ein geschlossenes Intervall von 0 bis 9 erstellt. Das rechte Ende ist nicht Teil des Intervalls, da arange standardmäßig das Endelement ausschließt.

Beispiel: Ein Intervall mit benutzerdefinierter Schrittweite erstellen

# Ein Intervall von 0 bis 10 erstellen, mit einer Schrittweite von 2
intervall_mit_schrittweite = np.arange(0, 10, 2)

# Visualisierung des Intervalls mit Schrittweite
print("Intervall von 0 bis 10 mit Schrittweite 2:\n", intervall_mit_schrittweite)

Ausgabe:

Intervall von 0 bis 10 mit Schrittweite 2:
 [0 2 4 6 8]

Dieses Beispiel zeigt ein Intervall von 0 bis 10 mit einer Schrittweite von 2. Der Endwert 10 wird nicht eingeschlossen, was ein offenes Intervall darstellt.

2. Gleichmäßig verteilte Werte mit numpy.linspace

Die Funktion numpy.linspace erstellt ein Intervall, das eine vorgegebene Anzahl von Werten enthält, die gleichmäßig zwischen zwei Grenzwerten verteilt sind. Der Unterschied zu arange ist, dass hier die Anzahl der zu erzeugenden Werte und das Verhalten der Endpunkte definiert werden kann.

Beispiel: Ein Intervall von 0 bis 1 mit 5 Werten erstellen (geschlossenes Intervall)

# Ein Intervall von 0 bis 1 erstellen, das aus 5 gleichmäßig verteilten Werten besteht
linspace_intervall = np.linspace(0, 1, 5)

# Visualisierung des linspace-Intervalls
print("Linspace Intervall von 0 bis 1 mit 5 Werten (geschlossenes Intervall):\n", linspace_intervall)

Ausgabe:

Linspace Intervall von 0 bis 1 mit 5 Werten (geschlossenes Intervall):
 [0.   0.25 0.5  0.75 1.  ]

Standardmäßig erstellt linspace ein geschlossenes Intervall, das den Start- und Endpunkt (0 und 1) mit einschließt.

Beispiel: Ein offenes Intervall mit linspace erstellen

# Ein Intervall von 0 bis 1 erstellen, das aus 5 gleichmäßig verteilten Werten besteht, wobei der Endpunkt ausgeschlossen ist
linspace_offenes_intervall = np.linspace(0, 1, 5, endpoint=False)

# Visualisierung des offenen Intervalls
print("Linspace Intervall von 0 bis 1 mit 5 Werten (offenes Intervall):\n", linspace_offenes_intervall)

Ausgabe:

Linspace Intervall von 0 bis 1 mit 5 Werten (offenes Intervall):
 [0.   0.2  0.4  0.6  0.8]

Durch die Option endpoint=False wird der Endpunkt (in diesem Fall 1) ausgeschlossen, was ein offenes Intervall erzeugt.

3. Logarithmisch verteilte Werte mit numpy.logspace

Die Funktion numpy.logspace erstellt ein Intervall, in dem die Werte logarithmisch auf einer Skala verteilt sind. Dies ist besonders nützlich, wenn exponentielle Skalen benötigt werden.

Beispiel: Logarithmisches Intervall von 10^0 bis 10^3 (geschlossenes Intervall)

# Ein logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten erstellen
logspace_intervall = np.logspace(0, 3, 4)

# Visualisierung des logspace-Intervalls
print("Logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten (geschlossenes Intervall):\n", logspace_intervall)

Ausgabe:

Logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten (geschlossenes Intervall):
 [   1.   10.  100. 1000.]

Standardmäßig erstellt logspace ein geschlossenes Intervall, das den Start- und Endpunkt einschließt.

Beispiel: Logarithmisches Intervall von 10^0 bis 10^3 (offenes Intervall)

# Ein logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten erstellen, Endpunkt ausschließen
logspace_offenes_intervall = np.logspace(0, 3, 4, endpoint=False)

# Visualisierung des logspace-Intervalls
print("Logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten (offenes Intervall):\n", logspace_offenes_intervall)

Ausgabe:

Logarithmisches Intervall von 10^0 bis 10^3 mit 4 Werten (offenes Intervall):
 [  1.   5.62341325  31.6227766  177.827941]

Durch die Option endpoint=False wird der Endpunkt (hier (10^3)) ausgeschlossen, was ein offenes Intervall erzeugt.