基于MATLAB的高阶紧致差分方法求解偏微分方程
1. 滤波器参数与边界公式
在相关计算中,有如下参数和公式:
- 参数 $\alpha_f$ 是一个自由参数,满足不等式 $-0.5 < \alpha_f \leq 0.5$。大量数值经验表明,$\alpha_f$ 取值在 0.3 到 0.5 之间较为合适。
- 系数公式如下:
- $a_3 = \frac{45(1 - 2\alpha_f)}{512}$
- $a_4 = \frac{5(-1 + 2\alpha_f)}{256}$
- $a_5 = \frac{1 - 2\alpha_f}{512}$
由于滤波器的模板较大,在靠近边界的点需要特殊的公式。
2. 数值示例与MATLAB代码
2.1 线性色散方程示例
考虑线性色散方程 $u_t + c^{-2}u_{xxx} = 0$,初始条件为 $u(x, 0) = \sin(cx)$,周期边界条件下,精确解为 $u(x, t) = \sin(c(x + t))$,其中 $x \in [0, 2\pi]$,$t \in [0, 1]$。
为展示紧致格式相较于同阶显式格式的优越性能,进行了以下计算:
- $c = 8$ 的情况 :使用 41 个均匀分布的点(即 $\Delta x = \frac{2\pi}{40}$),时间步长 $\Delta t = a(\Delta x)^3$,$a = 0.125$。分别用四阶显式和紧致格式($\alpha = \frac{15}{32}$),以及六阶显式和紧致格式($\
超级会员免费看
订阅专栏 解锁全文
830

被折叠的 条评论
为什么被折叠?



