rfft#
- scipy.fftpack.rfft(x, n=None, axis=-1, overwrite_x=False)[Quelle]#
Diskrete Fourier-Transformation einer reellen Sequenz.
- Parameter:
- xarray_like, reellwertig
Die zu transformierenden Daten.
- nint, optional
Definiert die Länge der Fourier-Transformation. Wenn n nicht angegeben ist (Standard), dann ist
n = x.shape[axis]. Wennn < x.shape[axis], wird x abgeschnitten, wennn > x.shape[axis], wird x mit Nullen aufgefüllt.- axisint, optional
Die Achse, entlang der die Transformation angewendet wird. Standard ist die letzte Achse.
- overwrite_xbool, optional
Wenn auf true gesetzt, kann der Inhalt von x überschrieben werden. Standard ist False.
- Rückgabe:
- zreeller ndarray
Das zurückgegebene reelle Array enthält
[y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2))] if n is even [y(0),Re(y(1)),Im(y(1)),...,Re(y(n/2)),Im(y(n/2))] if n is odd
wo
y(j) = sum[k=0..n-1] x[k] * exp(-sqrt(-1)*j*k*2*pi/n) j = 0..n-1
Siehe auch
Hinweise
Innerhalb der numerischen Genauigkeit gilt
y == rfft(irfft(y)).Sowohl Single- als auch Double-Precision-Routinen sind implementiert. Halbpräzisions-Eingaben werden in Single-Precision konvertiert. Nicht-Fließkomma-Eingaben werden in Double-Precision konvertiert. Long-Double-Precision-Eingaben werden nicht unterstützt.
Um eine Ausgabe mit komplexem Datentyp zu erhalten, sollten Sie die neuere Funktion
scipy.fft.rfftin Betracht ziehen.Beispiele
>>> from scipy.fftpack import fft, rfft >>> a = [9, -9, 1, 3] >>> fft(a) array([ 4. +0.j, 8.+12.j, 16. +0.j, 8.-12.j]) >>> rfft(a) array([ 4., 8., 12., 16.])