零基础使用 MATLAB 求解偏微分方程(建议收藏)
文章目录
- 零基础使用 MATLAB 求解偏微分方程(建议收藏)
-
- 偏微分开源工具介绍
- PDE 工具箱函数汇总介绍
- 0 基础:GUI 界面操作
-
-
- 示例问题
- 工具箱求解
- 导出为代码形式
- 代码导出相关数据
-
- 0.1 基础:编程调用 PDE 工具箱
- PDE 工具箱的局限性
偏微分开源工具介绍
百分之九十以上的重要的工程和数学科学研究,和偏微分方程都脱不开关系。在所有的偏微分方程中,百分之九十九都是没有解析解的。没有解析解怎么办,我们只能通过有限元或者有限差分等方法,求解偏微分方程数值解。如果您有一些代码基础,建议参考我的几篇有限经典博文,简单问题可在此基础上进行修改。
有限元方法入门:有限元方法简单的一维算例
有限元方法入门:有限元方法简单的二维算例(三角形剖分)
有限元方法入门:有限元方法简单的二维算例(矩形剖分)
对于做工程的朋友,不会偏微分方程数值解,怎么办关系,我推荐一些求解各类偏微分方程的容易入门的开源的软件包和工具,它们是:
- Free FEM++(足够傻瓜又不失自由度,强烈建议做工程的朋友可以学习一下)
- FEniCS(C++/Python, 开始于芝加哥大学和查尔姆斯理工大学,升级版是 FEniCSX)
- PETSC (C/Python, 美国阿贡国家实验室)
- deal.II (C++, 开始于德国海德堡大学,如果你非要学一个 C++ 有限元工具,而又不知道选哪个的话,可以看看这个)
- MFEM (C++, 美国劳伦斯利弗莫尔国家实验室)
- PHG (C, 张林波, 中国科学院)
- AFEPACK (C++, 李若, 北京大学)
- FEALPy(Python,魏华祎,湘潭大学)
- IFEM (MATLAB, 陈龙, UCI)
- NGSolve(C++/Python,Christoph 等)
- PHOEBESolver( Fortran and C/C++,宁夏大学,葛永斌)
- GCGE(C/MATLAB,中国科学院,谢和虎,特征值求解),这是代数特征值求解的工具包,不是 PDE 的。
- ……
当然,商业有限元软件 ansys 等,也非常推荐学工程的朋友去学习,如果要深挖算法的,建议还是用开源的。
好,有的同学说,这些对你们来说还是太难了。没关系,我可以祭出大招:MATLAB PDE工具箱。为什么它比上面的简单呢要是因为,它有可视化的 GUI 工具,你实在不会写代码,你用鼠标点点,也能 “写” 出像模像样的代码。
PDE 工具箱函数汇总介绍
PDE 工具箱包含比较多的工具,典型的几个函数如下所示。
0 基础:GUI 界面操作
示例问题
没有什么编程基础,但是又想快速写出有限元程序的同学,建议使用图形界面进行编程,然后导出代码。做个简单的示例操作。比如要求解:
Δ u = λ u u ∣ Ω = 0 Ω 是一个 L 型区域,如下图所示 -Delta u = lambda u u|_{partial Omega}=0 Omega 是一个L 型区域,如下图所示 /span>Δu=λuu∣/span>Ω/span>=0Ω是一个L型区域,如下图所示
工具箱求解
- 打开 MATLAB
- 命令行窗口口输入 回车
- 依次点击菜单栏如下按钮,其中点击 PDE 的时候,改成特征值模式
代码导出相关数据
当前目录下,保存如下代码为 matqueque。
来源:陆嵩
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!