我被困在这个 PDE 上:
假设我知道初始条件和两个边界条件,我想使用 matlab 对其进行数值求解。
有人可以帮帮我吗?提前致谢。
IC和BC:
是的,是一个时间变量并且是空间坐标。我期待一个简介关于这两个变量。
如果我不能提供这么多有用的信息,我很抱歉,但是我得到了一篇科学论文来研究这些方程(有很多方程,但这个是最棘手的)的显示位置,但没有提到他们如何解决并得到结果。
我被困在这个 PDE 上:
假设我知道初始条件和两个边界条件,我想使用 matlab 对其进行数值求解。
有人可以帮帮我吗?提前致谢。
IC和BC:
是的,是一个时间变量并且是空间坐标。我期待一个简介关于这两个变量。
如果我不能提供这么多有用的信息,我很抱歉,但是我得到了一篇科学论文来研究这些方程(有很多方程,但这个是最棘手的)的显示位置,但没有提到他们如何解决并得到结果。
我还建议使用有限差分代码(如 Paul 和 AshikIdrisy 所建议的),而不是在两者中都离散化和, 我只会离散化. 半离散微分方程将产生一个 ODE 系统,然后可以使用 MATLAB 的内置 ODE 求解器之一在 MATLAB 中求解。
就 PDE 求解器而言,您可以尝试使用 MATLAB 的pdepe求解器,因为您的方程看起来是抛物线的。
它只是一个空间维度上的对流扩散方程。我不知道如何在 matlab 中做到这一点,但是大多数开源有限元库(deal.II、fenics、libmesh、...)中都有教程程序来演示如何解决这些问题。用有限元代码求解这个方程不会特别困难,只要(i)扩散支配平流,或者(ii)你适当地稳定方程,或者(iii)你可以提供足够细的网格,您可能可以这样做,因为您的模型只有 1d。
(免责声明:我是 deal.II 的作者之一。)
鉴于他们给出边界条件的方式,我建议使用上面 Paul 所暗示的有限差分代码。看来你可以设置一个网格和并为和可能的中心差异方案. 如果你知道有限差分,如果你最终想使用这种方法,我可以更详细地介绍。就像第一步一样,尽管您可能希望获得关于 的所有导数一方面和那些在另一。
我知道 Matlab 已经内置了 ODE 求解器,但我不确定 PDE 求解器。我认为通过在 .m 文件中编写一些代码,自己进行第一次尝试,你会学到最多。