使用MATLAB我想实现某种谱方法。这个想法如下(为一个正在运作的例子描述)。
Dirichlet(以及Neumann和周期性)边界导致 k=n*pi/L
将傅里叶空间中的所有线性算子投影到离散化的k值:
e.g。 L = -D*(k.*k)
(仅限扩散)
及时将传播者定义为 P = exp( dt * L )
通过 uh_{n+1} = uh_n * P
每次我想通过 ifft( uh )
我的问题涉及另一个边界条件。
在我的情况下,我有罗宾边界条件。因此,特征值是通过形式 tan( x ) = x
等的奇怪方程来定义的。解决了计算它们的问题。
因为我有价值观,所以没有。 2和3也很简单,但:
要对{4}转换后的向量P
应用uh
,我必须确保 uh = fft(u)
使用相同的特征值,默认情况并非如此。
默认情况下,MATLAB使用fft的等距模式。
这有什么简单的技巧吗?
或者,也许,我的想法中有任何错误吗?