在 Matlab 中可以使用什么简单的 PDE?

计算科学 pde matlab 数值建模
2021-12-14 05:15:36

我想学习一个非常简单的 PDE 以获得物理和数学直觉——一个只有一个空间维度和一个时间维度的 PDE 。而且,我想在 Matlab 中为其编写代码并使用 Matlab 可能具有的标准 PDE 求解器,以便我可以了解 PDE 的解决方案以及解决方案如何随着的变化而变化/表现。xtxt

  • 我没有使用 PDE 的经验。

  • 什么可能是一个不错的 PDE 开始?

  • 什么是 PDE 的好 Matlab 求解器?

  • 对于 ODE,Matlab 求解器 ode45 非常好用。

2个回答

使用通常教授的基本离散化方法(Crank-Nicolson 等人)求解的 PDE 的标准示例是

  • 传输方程和其他一阶方程(如 Burger 方程)通常具有数值方法或多或少满足的明确解和守恒定律

  • 具有不同边界条件和源项的热方程是 Crank-Nicolson 和相关方法的教学示例,

  • KdV、Korteweg-deVries 方程与孤子波(在 MATLAB 中动画波函数)或它们的倍数,(Zabusky 和 ​​Kruskal 的 KdV 方程的步进器)是严重非线性的,并教导为什么必须考虑刚度,因此使用隐式求解器方法。

  • 在使用复值函数时,可以探索非线性薛定谔 (NLS) 方程(NLS中的伪谱方法),难度与上一个相同。

如果您有兴趣在 MATLAB 中对任何类型的 PDE 建模,偏微分方程工具箱应该能够处理您感兴趣的任何事情。

这包括用于对用户定义的方程组的结果进行网格划分、求解和可视化的工具。它可以同时处理时间和空间相关的系统。

完整的文档包含大量工作示例,这些示例可能有助于获得对各种系统的一些直觉。PDEPE make 也是一维问题的有用函数。