Jak działa numpy linspace w języku Python? Przykład zastosowania

Jak działa numpy linspace w języku Python? Przykład zastosowania
„`html

Funkcja numpy.linspace() jest jednym z podstawowych narzędzi oferowanych przez bibliotekę NumPy, które pozwala na wygenerowanie równomiernie rozmieszczonych wartości w zadanym przedziale. Jest niezwykle przydatna w analizie numerycznej, wizualizacji danych oraz w wielu innych zastosowaniach naukowych i inżynieryjnych.

Co to jest numpy.linspace()?

Funkcja numpy.linspace() służy do tworzenia tablicy wartości, które są równomiernie rozmieszczone pomiędzy dwoma zadanymi punktami. Dzięki temu można z łatwością generować zakresy danych przydatne w różnego rodzaju obliczeniach.

Oto podstawowa składnia tej funkcji:

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

Gdzie:

  • start – początek przedziału, w którym generujemy liczby.
  • stop – koniec przedziału (wartość końcowa może być włączona lub wyłączona, co zależy od parametru endpoint).
  • num – liczba wartości do wygenerowania (domyślnie 50).
  • endpoint – jeśli True, to wartość stop jest uwzględniona w sekwencji (domyślnie True).
  • retstep – jeśli True, funkcja zwraca także krok pomiędzy kolejnymi wartościami.
  • dtype – określa typ danych wynikowej tablicy.
  • axis – określa oś, wzdłuż której generowana jest tablica (przydatne przy pracy z macierzami wielowymiarowymi).

Jak działa numpy.linspace() w języku Python? Przykład zastosowania

Przeanalizujmy kilka praktycznych przykładów, które ilustrują zastosowanie funkcji numpy.linspace().

1. Generowanie prostego zakresu wartości

Najprostsze użycie numpy.linspace() to wygenerowanie 10 liczb równomiernie rozmieszczonych między 0 a 1:

import numpy as np

tablica = np.linspace(0, 1, 10)
print(tablica)

Wynik:

[0.         0.11111111 0.22222222 0.33333333 0.44444444  
 0.55555556 0.66666667 0.77777778 0.88888889 1.        ]

Jak widać, otrzymaliśmy dziesięć wartości równomiernie rozmieszczonych w przedziale od 0 do 1.

2. Wyłączenie wartości końcowej

Jeśli nie chcemy, aby ostatnia wartość była równa stop, możemy ustawić endpoint=False:

tablica = np.linspace(0, 1, 10, endpoint=False)
print(tablica)

Wynik:

[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

Dzięki temu uzyskaliśmy 10 liczb równomiernie rozmieszczonych, ale nie sięgających dokładnie wartości 1.

3. Pobieranie kroku

Użycie retstep=True pozwala na zwrócenie wartości kroku pomiędzy kolejnymi elementami:

tablica, krok = np.linspace(0, 10, 5, retstep=True)
print("Tablica:", tablica)
print("Krok:", krok)

Wynik:

Tablica: [ 0.  2.5  5.  7.5 10. ]
Krok: 2.5

Krok obliczany jest jako różnica między kolejnymi wartościami w zbiorze.

4. Określenie typu danych

Możemy ustawić konkretny typ danych dla generowanej tablicy, np. int:

tablica = np.linspace(0, 10, 5, dtype=int)
print(tablica)

Wynik:

[ 0  2  5  7 10]

Porównanie z numpy.arange()

Funkcja numpy.linspace() jest często mylona z numpy.arange(). Oto główne różnice:

Cecha numpy.linspace() numpy.arange()
Parametry start, stop, num start, stop, step
Kontrola liczby elementów Tak, ustalamy dokładną liczbę punktów Nie, wynik zależy od kroku
Przydatność Przydatna w analizie numerycznej Bardziej intuicyjna do iteracji

Jeśli zależy nam na podziale zakresu na dokładną liczbę punktów, warto użyć numpy.linspace(). Natomiast jeśli chcemy określić krok i nie obchodzi nas liczba wynikowych wartości, lepiej wybrać numpy.arange().

Podsumowanie

Funkcja numpy.linspace() to niezwykle przydatne narzędzie, które pozwala na szybkie generowanie równomiernie rozmieszczonych wartości w danym przedziale. Jest niezastąpiona w analizie numerycznej, wizualizacji oraz różnego rodzaju symulacjach. Dzięki elastycznym parametrom, takim jak endpoint, retstep czy dtype, możemy dostosować ją do różnych zastosowań w naszych projektach.

„` Inny ciekawy artykuł: Jak działa numpy eye w języku Python? Przykład zastosowania
KajoDataSpace