http://www.mathworks.com/help/techdoc/ref/fftshift.html
如果检查链接 - 这就是我想在第一张图片中做的事情 - 交换矩阵的象限。
然而,我似乎无法想出一个很好的方法来做到这一点,而没有几个循环来拉出相关的子矩阵。
我需要它与MxN矩阵一起使用,其中M和N可以是偶数和奇数的任意组合。
由于
答案 0 :(得分:2)
以下内容应该有效
sz = ceil(size(A)/2)
A = A([sz(1)+1:end, 1:sz(1)], [sz(2)+1:end, 1:sz(2)])
这仅适用于2d矩阵,但可以很容易地推广到Nd情况。
答案 1 :(得分:1)
如果您在MATLAB的命令行输入type fftshift.m
,您将看到MATLAB实现该函数的源代码(如果您想在编辑器中使用语法高亮显示它,请使用edit fftshift.m
)。我不是在这里发布代码,因为它受版权保护。但是,您可以在您的计算机上进行尝试并在C中重新实现它。如果您涉及任何一项,您可以自行查明许可条款等。