我希望更快地制作以下代码:
A = DxNxNxN matrix
for i=1:D
A(i,:,:,:) = ifftn(A(i,:,:,:));
end
我一直在研究arrayfun函数。我想这应该可以转换为单元格,但我宁愿避免这样做以提高性能(也无法使其工作)。
答案 0 :(得分:0)
您可以沿着三个维度链接ifft
:
A = ifft(ifft(ifft(A,[],2),[],3),[],4);
这是否更快可能取决于D
和N
。
另一种可能性是
A = fft(ifftn(A),[],1);
虽然这可能是浪费,因为第一个维度会被转换回来然后再转发。