如何在Julia中对多维数组进行irfft?

3
我对Julia还很陌生,我试图对大小为(n/2, n, n)的三维数组B(其中B = rfft(A))进行irfft。然而,在Julia中,irfft需要额外输入参数d表示转换后实数数组的大小,但我不确定应该输入什么。我尝试了n和n/2,但当我打印出结果矩阵时,两者都似乎没有按预期工作。
编辑:我应该将维度降低以检查是否一切正常,结果使用d = n就可以了。感谢所有回答我的人!
2个回答

2

请查看这个讨论。可以使用任意三个数字,但可能并不总是得到你想要的结果。


谢谢您的回答,但是API规定d必须是整数。我尝试在d的位置上放入(64, 128, 128)(在这种情况下n = 128),但它不起作用。我也尝试只输入128作为d,但当我打印出它的值时,它会进入无限循环,并显示某些原因导致输出过多。 - willfung

1

这应该可以工作:

using FFTW

function test(n = 16)
    a = rand(n ÷ 2, n, n)
    f = rfft(a)
    @show irfft(f, n ÷ 2 + 1)
end

test()

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