零基础使用 MATLAB 求解偏微分方程(建议收藏)

零基础使用 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 的时候,改成特征值模式
    零基础使用 MATLAB 求解偏微分方程(建议收藏)

    代码导出相关数据

    当前目录下,保存如下代码为 matqueque。

    来源:陆嵩

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月16日
下一篇 2022年9月16日

相关推荐