scipy.fft.

dstn#

scipy.fft.dstn(x, type=2, s=None, axes=None, norm=None, overwrite_x=False, workers=None, orthogonalize=None)[Quelle]#

Gibt die mehrdimensionale diskrete Sinus-Transformation entlang der angegebenen Achsen zurück.

Parameter:
xarray_like

Das Eingabearray.

type{1, 2, 3, 4}, optional

Typ der DST (siehe Hinweise). Der Standardtyp ist 2.

sint oder Array-ähnlich von ints oder None, optional

Die Form des Ergebnisses. Wenn sowohl s als auch axes (siehe unten) None sind, ist s gleich x.shape; wenn s None ist, axes aber nicht, dann ist s gleich numpy.take(x.shape, axes, axis=0). Wenn s[i] > x.shape[i] ist, wird die i-te Dimension des Eingangs mit Nullen aufgefüllt. Wenn s[i] < x.shape[i] ist, wird die i-te Dimension des Eingangs auf die Länge s[i] gekürzt. Wenn irgendein Element von shape -1 ist, wird die Größe der entsprechenden Dimension von x verwendet.

axesint oder Array-ähnlich von ints oder None, optional

Achsen, über die die DST berechnet wird. Wenn nicht angegeben, werden die letzten len(s) Achsen verwendet, oder alle Achsen, wenn s ebenfalls nicht angegeben ist.

norm{“backward”, “ortho”, “forward”}, optional

Normalisierungsmodus (siehe Hinweise). Standard ist "backward".

overwrite_xbool, optional

Wenn True, kann der Inhalt von x zerstört werden; die Standardeinstellung ist False.

workersint, optional

Maximale Anzahl von Workern, die für die parallele Berechnung verwendet werden sollen. Wenn negativ, wickelt sich der Wert von os.cpu_count() ab. Weitere Einzelheiten finden Sie unter fft.

orthogonalizebool, optional

Ob die orthogonalisierte DST-Variante verwendet werden soll (siehe Hinweise). Standardmäßig ist True, wenn norm="ortho" ist, und andernfalls False.

Hinzugefügt in Version 1.8.0.

Rückgabe:
yndarray von reellen Zahlen

Das transformierte Eingabearray.

Siehe auch

idstn

Inverse multidimensionale DST

Hinweise

Vollständige Details zu den DST-Typen und Normalisierungsmodi sowie Referenzen finden Sie in dst.

Beispiele

>>> import numpy as np
>>> from scipy.fft import dstn, idstn
>>> rng = np.random.default_rng()
>>> y = rng.standard_normal((16, 16))
>>> np.allclose(y, idstn(dstn(y)))
True