irfftn#
- scipy.fft.irfftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)[Quellcode]#
Berechnet die Inverse von
rfftnDiese Funktion berechnet die Inverse der N-dimensionalen diskreten Fouriertransformation für reelle Eingaben über eine beliebige Anzahl von Achsen in einem M-dimensionalen Array mittels der schnellen Fouriertransformation (FFT). Mit anderen Worten:
irfftn(rfftn(x), x.shape) == xbis auf numerische Genauigkeit. (Diea.shapeist ebenso notwendig wielen(a)fürirfftund aus demselben Grund.)Die Eingabe sollte auf dieselbe Weise sortiert sein, wie sie von
rfftnzurückgegeben wird, d. h. wie fürirfftfür die letzte Transformationsachse und wie fürifftnentlang aller anderen Achsen.- Parameter:
- xarray_like
Eingabearray.
- sSequenz von ganzen Zahlen, optional
Form (Länge jeder transformierten Achse) der Ausgabe (
s[0]bezieht sich auf Achse 0,s[1]auf Achse 1 usw.). s ist auch die Anzahl der entlang dieser Achse verwendeten Eingabepunkte, außer für die letzte Achse, bei ders[-1]//2+1Punkte der Eingabe verwendet werden. Entlang einer beliebigen Achse wird die Eingabe abgeschnitten, wenn die von s angegebene Form kleiner ist als die der Eingabe. Wenn sie größer ist, wird die Eingabe mit Nullen aufgefüllt. Wenn s nicht angegeben ist, wird die Form der Eingabe entlang der durch axes angegebenen Achsen verwendet. Außer für die letzte Achse, die auf2*(m-1)gesetzt wird, wobeimdie Länge der Eingabe entlang dieser Achse ist.- axesSequenz von ganzen Zahlen, optional
Achsen, über die die inverse FFT berechnet werden soll. 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
fft). Standard ist „backward“.- overwrite_xbool, optional
Wenn True, kann der Inhalt von x zerstört werden; Standard ist False. Weitere Einzelheiten finden Sie unter
fft.- 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 unterfft.- planobject, optional
Dieses Argument ist für die Übergabe eines vorab berechneten Plans von nachgelagerten FFT-Anbietern reserviert. Es wird derzeit in SciPy nicht verwendet.
Hinzugefügt in Version 1.5.0.
- Rückgabe:
- outndarray
Die abgeschnittene oder mit Nullen aufgefüllte Eingabe, transformiert entlang der durch axes angegebenen Achsen oder durch eine Kombination von s oder x, wie im obigen Abschnitt „Parameter“ erläutert. Die Länge jeder transformierten Achse entspricht dem entsprechenden Element von s oder der Länge der Eingabe in jeder Achse außer der letzten, wenn s nicht angegeben ist. In der letzten transformierten Achse ist die Länge der Ausgabe, wenn s nicht angegeben ist,
2*(m-1), wobeimdie Länge der letzten transformierten Achse der Eingabe ist. Um eine ungerade Anzahl von Ausgabepunkten in der letzten Achse zu erhalten, muss s angegeben werden.
- Löst aus:
- ValueError
Wenn s und axes unterschiedliche Längen haben.
- IndexError
Wenn ein Element von axes größer ist als die Anzahl der Achsen von x.
Siehe auch
Hinweise
Siehe
fftfür Definitionen und verwendete Konventionen.Siehe
rfftfür Definitionen und Konventionen, die für reelle Eingaben verwendet werden.Der Standardwert von s geht von einer geraden Ausgabelänge in der letzten Transformationsachse aus. Bei der Ausführung der letzten komplexen zu reellen Transformation muss die hermitische Symmetrie dazu führen, dass die letzte imaginäre Komponente entlang dieser Achse 0 ist und daher ignoriert wird. Um Informationsverlust zu vermeiden, muss die korrekte Länge der reellen Eingabe angegeben werden.
Beispiele
>>> import scipy.fft >>> import numpy as np >>> x = np.zeros((3, 2, 2)) >>> x[0, 0, 0] = 3 * 2 * 2 >>> scipy.fft.irfftn(x) array([[[1., 1.], [1., 1.]], [[1., 1.], [1., 1.]], [[1., 1.], [1., 1.]]])