2013-05-14 48 views
1

在Matlab中,有一個函數ifft(快速傅里葉逆變換) - detailsR中的IFFT函數?

具體地,執行以下操作:

ifft(X,n,dim) 

橫跨維度dim返回X逆DFT。

在R,有隔開的signal包的一個類似功能 - details

然而,它僅允許在x輸入陣列,如下所示:

ifft(x) 

問題:

有沒有什麼辦法可以在R函數中包含額外的維度,如Matlab函數中的dim?

非常感謝你看看我的問題,非常有幫助。

回答

3

您是否在尋找? mvfft(附inverse = TRUE)?

mvfft確實由列(逆)FFT,但你可以重塑你的數據:

  • t矩陣轉置
  • apermt(維排列)的陣列擴展
  • 可以通過dim<-
    將數組重新整形爲一個矩陣(包陣列幫助器具有將數組轉換爲矩陣並返回的便利功能)。
+0

謝謝cbeleites。我對R來說是一個新手,你有可能將它解釋爲像im 5哈哈。在Matlab中,你是否要求我改變x矩陣,然後將它傳遞給mvfft# – Resso 2013-05-14 11:13:27

+1

@Resso:'mvfft(x,inverse = TRUE)'就像'ifft(x,[],dim = 2)'。也就是說,您需要在*列*中使用FFT的維數。你有矩陣還是陣列? – cbeleites 2013-05-14 11:33:36

+0

嘗試使用'mvfft'時發生錯誤:「需要矢量值(多變量)系列」。不幸的是我的數組超過2000個元素。我可以使'ifft'與'fft(x,inverse = TRUE)/ length(x)'一起工作,沒有'dim'維度,但是我不能轉換matlab代碼'ifft(x,z,2)' ,'z'的值是'3528' – Resso 2013-05-14 11:39:11