matlab PDE toolbar

参考链接:https://blog.csdn.net/lusongno1/article/details/84097005
原文作者:lsec小陆

目录

资料

CSDN博客

百度文库PPT

百度文库word

清华PPT



利用pde工具箱解偏微分方程的步骤包括

  1. 确定方程类型(椭圆、双曲、抛物、特征值)
  2. 根据方程的边界条件等信息绘图
  3. 确定边界条件(初值、Dirichlet、Neumann)
  4. 画网格、求解、后处理

确定方程类型

matlab PDE toolbar

在一个二维的有界区域Ω\OmegaΩ上,matlab的PDE工具箱主要使用有限元方法解决下面四类问题:

  • 椭圆形方程(elliptic)

matlab PDE toolbar

  • 抛物型方程(parabolic)

matlab PDE toolbar

  • 双曲线方程(hyperbolic)

matlab PDE toolbar

  • 特征值问题

matlab PDE toolbar

这些系数和右端项是可以包含时间t(如果有的话)、函数u,函数的梯度∇u

边界条件选择

  • 狄利克雷边界条件(Dirichlet) hu = r ,需要确定h、r
  • 诺依曼边界条件(Neumann) n⋅(c∇u)+qu=g ,需要确定q、g

  • 方程组求解的情况下,还有混合边界条件。

这上边的参数可以是空间变量、时间变量以及函数u的函数。

PDE工具箱的介绍

命令行输入pdetool,打开GUI编辑界面如下:

matlab PDE toolbar

matlab PDE toolbar

matlab PDE toolbar

简单地说,就是前面几个拿来画区域的,后面一个∂Ω拿来设置边界条件,带三角形的是拿来剖分以及加密的,等号是求解,最后那个带图的那个是画图。

工具栏上的菜单栏,我们常用到的有:

Option下的坐标轴显示网格,坐标轴限制以及坐标轴显示是否等宽

Draw下的对区域的旋转选项,

mesh下的显示网格编号,到处网格节点、边、面等。

Solve下对于抛物问题和双曲问题的参数设定(和时间有关的步长,终止时间,初值等),解的导出也在solve下。

如果知道真解的话,可以使用plot下拉下的参数选项,选择user entry来绘制误差曲线。

当然,还有一些简单的tip,比如,在设置边界条件时,若多个边界的边界条件时一样的,那么可以shift+单击选中多个边界,一次性设置边界条件。在plot当中还可以生成动画等。

一个简单的小例子

matlab PDE toolbar

对于这样一个问题,我们如何用pde工具箱求解呢?

分析:方程为抛物线方程;第二式为假定 R0= 1/4,求解的时间 t=3/256,那么,操作如下:

(1)命令行输入pdetool打开工具箱

(2)点击PDE按钮,选择抛物方程,设置参数如下:

matlab PDE toolbar

(3)使用矩形工具(第一个)拖动绘制矩形。双击画出的矩形,填写Left=0,Bottom=0,Width=1,Height =1,如下:

matlab PDE toolbar

(4)使用Options下Axes Limits可以调整横纵坐标的显示。

(5)点击∂Ω,边界以红色显示(红蓝绿依次表示狄利克雷、诺依曼和混合边界条件)。使用shift和鼠标点击,选中四条边界,设置为诺依曼边界条件,根据问题,填写q=0,g=0,点选OK。

(6)点击三角形按钮,以及后面的加密按钮,对区域进行三角形剖分。(Mesh-->undo mesh change可返回上一种网格状态)

(7)选择Solve下拉菜单中的参数,根据问题设置参数如下:

matlab PDE toolbar

(8)点击等号,即进行求解了。

matlab PDE toolbar

这里一般用颜色的深浅来表示值的大小。

(9)点击带图案的那个按钮,选中Color选项,以及Height(3-D plot)选项和Animation选项,其他想勾的也可以勾,比如show mesh。点击plot,就进行绘图以及动画的制作。