Python 单个FFT的numpy fftn顺序
fft2和fftn提供轴参数,允许指定在哪些轴上执行变换。这个方法服从命令吗 给定一个二维numpy数组 a=np.数组([[1,2],[3,4]] 是 不同于Python 单个FFT的numpy fftn顺序,python,numpy,fft,Python,Numpy,Fft,fft2和fftn提供轴参数,允许指定在哪些轴上执行变换。这个方法服从命令吗 给定一个二维numpy数组 a=np.数组([[1,2],[3,4]] 是 不同于 fft2(a,axis=(1,0) 我有跨行而非列的相关数据…DFT是可分离的,这意味着计算2D DFT与沿每个轴计算两个单独的1D DFT相同: import numpy as np a = np.arange(25).reshape(5, 5) out1 = np.fft.fft2(a) tmp = np.fft.fft(a
fft2(a,axis=(1,0)
我有跨行而非列的相关数据…DFT是可分离的,这意味着计算2D DFT与沿每个轴计算两个单独的1D DFT相同:
import numpy as np
a = np.arange(25).reshape(5, 5)
out1 = np.fft.fft2(a)
tmp = np.fft.fft(a, axis=0)
out2 = np.fft.fft(tmp, axis=1)
np.allclose(out1, out2) # True
而且,既然发生了冲突,行动的顺序就无关紧要了
tmp = np.fft.fft(a, axis=1)
out3 = np.fft.fft(tmp, axis=0)
np.allclose(out1, out3) # True
这意味着轴的顺序
参数也不重要
out4 = np.fft.fft2(a, axes=(1, 0))
np.allclose(out1, out4) # True
DFT是可分离的,这意味着计算2D DFT与沿每个轴计算两个单独的1D DFT相同:
import numpy as np
a = np.arange(25).reshape(5, 5)
out1 = np.fft.fft2(a)
tmp = np.fft.fft(a, axis=0)
out2 = np.fft.fft(tmp, axis=1)
np.allclose(out1, out2) # True
而且,既然发生了冲突,行动的顺序就无关紧要了
tmp = np.fft.fft(a, axis=1)
out3 = np.fft.fft(tmp, axis=0)
np.allclose(out1, out3) # True
这意味着轴的顺序
参数也不重要
out4 = np.fft.fft2(a, axes=(1, 0))
np.allclose(out1, out4) # True
由于FFT是线性和可分离的,所以执行顺序无关紧要。由于FFT是线性和可分离的,所以执行顺序无关紧要。