2016-07-26 28 views
1

Angenommen, ich habe eine Länge 100 Vektor X, in Matlab, kann ich fft(x,32) ausführen, um eine Länge 32 komplexen Vektor zu erhalten.Wie füge n Punkte FFT in R?

Aber wie geht das in R?

fft(x,32) wird nicht funktionieren und wird immer noch eine Länge 100 komplexer Vektor zurückgeben.

Antwort

2

aus MATLAB Dokumentation:

Y = fft (X, n) liefert die N-Punkt-DFT. Wenn kein Wert angegeben wird, ist Y die gleiche Größe wie X.

Wenn X ein Vektor ist und die Länge von X kleiner als n ist, wird X mit abschließenden Nullen auf Länge n aufgefüllt.

Wenn X ein Vektor ist und die Länge von X größer als n ist, wird X auf Länge n gekürzt. ...

gleiches Ergebnis in R zu erreichen:

fft(x[1:32]) 
+0

Great! das hat auch mein Verständnis der Mathematik verbessert (Annäherung niedriger Ordnung). BTW die Antwort ist überraschend für mich ... Ich denke ursprünglich, dass n Punkte "Auflösung" ähnlich sind – hxd1011