在R中执行2D快速傅里叶变换

6

我想知道如何在R中执行2D fft。我只看到fft函数,但我想进行2D fft。是否有类似于matlab中的fft2函数可用?


确实有。它被称为fft2。你使用的Matlab版本是哪个?无论如何,2D FFT只是在x方向上进行一次FFT,然后在y方向上进行另一次FFT(或反之亦然)。你可以简单地这样做(这就是fft2在内部所做的)。 - Luis Mendo
1
我觉得在这里使用 matlab 标签不太合适,对吗? - Arun
1
你可以查看smoothie包,它具有2D fft函数。 - Carl Witthoft
2
? fft说:“当z包含一个数组时,fft计算并返回多变量(空间)变换。” - 这不就是你要找的吗? - cbeleites unhappy with SX
2
这篇文章似乎在说R的fft和Matlab的fft2做的是同样的事情:http://r.789695.n4.nabble.com/Is-R-s-fast-fourier-transform-function-different-from-quot-fft2-quot-in-Matlab-td864669.html - Marc in the box
显示剩余2条评论
1个回答

5
正如评论中指出的那样,fft可以处理单维或多维输入。从文档中可以看到:

当z是一个向量时,fft计算并返回z序列的未归一化一元傅里叶变换。当z包含一个数组时,fft计算和返回多元(空间)变换。

我认为这份文档混淆了术语(因为R数组可以有1、2或更多维),但他们试图表达的内容是相当清晰的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接