用MATLAB函数设置PDE模型的系数

MATLAB偏微分方程数值解工具箱使用下面的标准方程定义偏微分方程。

\[m\frac{{\partial}^{2}u}{\partial {t}^{2}}+d\frac{\partial u}{\partial t}-\nabla\cdot(c\nabla u)+au=f\]

当参数m和d等于0时,为椭圆型问题的方程;当参数m等于0,d不为0时,为抛物型问题的方程;当参数d等于0,m不为0时,为双曲型问题的方程。

对于特征值问题,标量特征值问题的方程的形式为:

-·(cu) + au =du

用specifyCoefficients函数指定模型的系数值。该函数的语法格式为:

  • specifyCoefficients(model,Name,Value) 对于1.2.1小节介绍的标准偏微分方程,用Name和Value匹配对指定各系数的值。Name的取值可以是m, d, c, a和f。
  • specifyCoefficients(model,Name,Value,RegionType,RegionID) 用RegionType和RegionID指定区域类型和编号,为指定区域设置方程的系数值。RegionType参数的取值为'Face'或'Cell',分别表示面或单元。
  • CA = specifyCoefficients(___) 返回系数赋值对象。

【例17】创建一个几何模型为方形的PDE模型,给模型设置初始条件。

code.matlab
>> model = createpde;
>> R = [3,4,-1,1,1,-1,-1,-1,1,1]';
>> g = decsg(R);
>> geometryFromEdges(model,g);
>> specifyCoefficients(model,'m',0,...
                          'd',0,...
                          'c',1,...
                          'a',0,...
                          'f',1);