让un是一个包含函数离散值的数组u(x,y). 对这个数组执行 2D FFT,我们得到un^表示的值u^(kx,ky). 我想执行类似于流体动力学伪光谱方法中经常使用的 2/3 规则:
u^(k)=0ifk>(2/3)kmax
我知道如何在 1D 中执行此操作,但我无法在 2D 中实现它。我已经尝试将所有设置为零u^(kx,ky)为此k=k2x+k2y−−−−−−√>(2/3)kmax但是这种方法正在影响我的较低频率的能量,我希望在没有数值耗散的情况下保留它。我想获得这样的东西:

我只能根据相关幅度(归一化能量)而不是关于波数来获得设置过滤器k=k2x+k2y−−−−−−√如我所愿。
如果有人指出我解决问题的正确方向,我将不胜感激。