繁体   English   中英

将函数应用于Matlab中的每个子矩阵

[英]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);

是否更快,可能取决于DN

另一种可能性是

A = fft(ifftn(A),[],1);

尽管这可能很浪费,但是随着第一个维度的来回变换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM