R中的IFFT函数?

R中的IFFT函数?,r,R,在Matlab中,有一个ifft函数(快速傅里叶逆变换)- 特别是以下方面: ifft(X,n,dim) 它返回整个维度dim上的X的逆DFT 在R中,除了信号包之外,还有一个类似的功能- 但是,它只允许x输入阵列,如下所示: ifft(x) 问题: 有没有办法将额外的维度(如Matlab函数中的dim)包含在R中 非常感谢您查看我的问题,非常有帮助。您正在寻找?mvfft(带逆=TRUE) mvfft按列进行(反向)FFT,但您可以重塑数据: t用于矩阵转置 aperm用于t的数组扩展(

在Matlab中,有一个
ifft
函数(快速傅里叶逆变换)-

特别是以下方面:

ifft(X,n,dim)
它返回整个维度
dim
上的
X
的逆DFT

在R中,除了
信号
包之外,还有一个类似的功能-

但是,它只允许x输入阵列,如下所示:

ifft(x)
问题:

有没有办法将额外的维度(如Matlab函数中的dim)包含在R中


非常感谢您查看我的问题,非常有帮助。

您正在寻找
?mvfft
(带
逆=TRUE

mvfft
按列进行(反向)FFT,但您可以重塑数据:

  • t
    用于矩阵转置
  • aperm
    用于
    t
    的数组扩展(维度置换)

  • 您可以通过
    dimlite将数组重塑为矩阵。我是一个非常熟悉R的新手,你有没有可能解释它像im 5哈哈。你是说我在将x矩阵传递给
    mvfft
    @Resso之前先修改它:
    mvfft(x,inverse=TRUE)
    的行为类似于Matlab中的
    ifft(x,[],dim=2)
    。也就是说,您需要有在列中进行FFT的维度。您有矩阵还是数组?我在尝试使用
    mvfft
    时出错:“需要向量值(多元)序列”。不幸的是,我的数组超过2000个元素。我可以让
    ifft
    使用
    fft(x,inverse=TRUE)/length(x)
    ,而不需要
    dim
    维度,但我无法转换matlab代码
    ifft(x,z,2)
    ,其中
    z
    的值是
    3528
    @Resso您应该编辑您的问题,以包含一个最小的可复制示例,以及模型数据,所以人们可以提供一个明确的答案。同样,它不必是你的数据,也不必是4000个元素。只是一些最小的和重复的相同结构;使用任意数字或内置数据集。然后,您可以在这个简单的测试中比较R和Matlab的结果,并将其放大到实际数据。