偏微分方程的数值解,有时候真的挺头疼的。是 2D 扩散问题或者泊松方程,自己从头撸一套还挺费劲的。
这份matlab 微分方程代码就蛮实用的,直接用Jacobi 方法来二维扩散(热传导)和泊松问题,结构也清晰,代码也不复杂。适合你快速上手试试数值方法的思路。
代码参考了 PowerPoint 的演示 PDF,还比较详细。虽然有两个辅助文件Utilities.cu
和Utilities.cuh
没放上来,但不影响你理解主要逻辑。Jacobi 迭代部分挺经典的,搞懂这块再拓展 Gauss-Seidel、SOR 啥的都容易。
建议你顺手看看这几个相关资源:Matlab 微分方程求解、泊松方程的数值解法,有些思路可以直接套进来。还有别忘了那几个求解微分方程的例子,对照着代码一块看效果更好。
如果你正打算入门偏微分方程数值解,尤其是用 Matlab 搞科研或者作业,这套代码真的可以省不少事,跑起来也快,适合边学边改。