[英]Apply a function to every sub-matrix in Matlab
我希望使以下代码更快:
A = DxNxNxN matrix
for i=1:D
A(i,:,:,:) = ifftn(A(i,:,:,:));
end
我一直在研究arrayfun函数。 我想这可以通过转换为单元格来实现,但我宁愿避免这种情况以提高性能(也无法使其工作)。
您可以沿以下三个维度链接ifft
:
A = ifft(ifft(ifft(A,[],2),[],3),[],4);
是否更快,可能取决于D
和N
另一种可能性是
A = fft(ifftn(A),[],1);
尽管这可能很浪费,但是随着第一个维度的来回变换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.