2

使用 MATLAB 我想实现某种光谱方法。这个想法如下(描述了一个有效的例子)。

  1. Dirichlet(和 Neumann 和周期性)边界导致傅立叶空间中的特征值k=n*pi/L

  2. 将傅立叶空间中的所有线性算子投影到离散化的 k 值:

    例如L = -D*(k.*k)(仅用于扩散)

  3. 将传播者及时定义为P = exp( dt * L )

  4. 通过迭代计算时间演化uh_{n+1} = uh_n * P

  5. 每次我想通过以下方式保存值时,将计算值返回到真实空间ifft( uh )

我的问题涉及另一个边界条件。

就我而言,我有 Robin 边界条件。因此,特征值是通过一些奇怪的形式等式定义tan( x ) = x的。计算它们的问题就解决了。

因为我有价值观,所以步骤没有。2和3也很简单,但是

为了应用P傅立叶变换向量uh,我必须确保我uh = fft(u)使用相同的特征值,默认情况下并非如此。

默认情况下,MATLAB 对 fft 使用等距模式。

有什么简单的技巧吗?

或者,也许,我的想法有什么错误吗?

4

0 回答 0